You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by es...@apache.org on 2016/09/08 05:21:00 UTC

[21/54] [partial] incubator-hawq git commit: HAWQ-959. revert thrift build commands.

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/compiler/cpp/src/thrifty.yy
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/compiler/cpp/src/thrifty.yy b/depends/thirdparty/thrift/compiler/cpp/src/thrifty.yy
deleted file mode 100644
index 61d4231..0000000
--- a/depends/thirdparty/thrift/compiler/cpp/src/thrifty.yy
+++ /dev/null
@@ -1,1312 +0,0 @@
-%{
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Thrift parser.
- *
- * This parser is used on a thrift definition file.
- *
- */
-
-#define __STDC_LIMIT_MACROS
-#define __STDC_FORMAT_MACROS
-#include <stdio.h>
-#ifndef _MSC_VER
-#include <inttypes.h>
-#else
-#include <stdint.h>
-#endif
-#include <limits.h>
-#ifdef _MSC_VER
-#include "windows/config.h"
-#endif
-#include "main.h"
-#include "globals.h"
-#include "parse/t_program.h"
-#include "parse/t_scope.h"
-
-#ifdef _MSC_VER
-//warning C4065: switch statement contains 'default' but no 'case' labels
-#pragma warning(disable:4065)
-#endif
-
-/**
- * This global variable is used for automatic numbering of field indices etc.
- * when parsing the members of a struct. Field values are automatically
- * assigned starting from -1 and working their way down.
- */
-int y_field_val = -1;
-/**
- * This global variable is used for automatic numbering of enum values.
- * y_enum_val is the last value assigned; the next auto-assigned value will be
- * y_enum_val+1, and then it continues working upwards.  Explicitly specified
- * enum values reset y_enum_val to that value.
- */
-int32_t y_enum_val = -1;
-int g_arglist = 0;
-const int struct_is_struct = 0;
-const int struct_is_union = 1;
-
-%}
-
-/**
- * This structure is used by the parser to hold the data types associated with
- * various parse nodes.
- */
-%union {
-  char*          id;
-  int64_t        iconst;
-  double         dconst;
-  bool           tbool;
-  t_doc*         tdoc;
-  t_type*        ttype;
-  t_base_type*   tbase;
-  t_typedef*     ttypedef;
-  t_enum*        tenum;
-  t_enum_value*  tenumv;
-  t_const*       tconst;
-  t_const_value* tconstv;
-  t_struct*      tstruct;
-  t_service*     tservice;
-  t_function*    tfunction;
-  t_field*       tfield;
-  char*          dtext;
-  t_field::e_req ereq;
-  t_annotation*  tannot;
-  t_field_id     tfieldid;
-}
-
-/**
- * Strings identifier
- */
-%token<id>     tok_identifier
-%token<id>     tok_literal
-%token<dtext>  tok_doctext
-%token<id>     tok_st_identifier
-
-/**
- * Constant values
- */
-%token<iconst> tok_int_constant
-%token<dconst> tok_dub_constant
-
-/**
- * Header keywords
- */
-%token tok_include
-%token tok_namespace
-%token tok_cpp_namespace
-%token tok_cpp_include
-%token tok_cpp_type
-%token tok_php_namespace
-%token tok_py_module
-%token tok_perl_package
-%token tok_java_package
-%token tok_xsd_all
-%token tok_xsd_optional
-%token tok_xsd_nillable
-%token tok_xsd_namespace
-%token tok_xsd_attrs
-%token tok_ruby_namespace
-%token tok_smalltalk_category
-%token tok_smalltalk_prefix
-%token tok_cocoa_prefix
-%token tok_csharp_namespace
-%token tok_delphi_namespace
-
-/**
- * Base datatype keywords
- */
-%token tok_void
-%token tok_bool
-%token tok_byte
-%token tok_string
-%token tok_binary
-%token tok_slist
-%token tok_senum
-%token tok_i16
-%token tok_i32
-%token tok_i64
-%token tok_double
-
-/**
- * Complex type keywords
- */
-%token tok_map
-%token tok_list
-%token tok_set
-
-/**
- * Function modifiers
- */
-%token tok_oneway
-
-/**
- * Thrift language keywords
- */
-%token tok_typedef
-%token tok_struct
-%token tok_xception
-%token tok_throws
-%token tok_extends
-%token tok_service
-%token tok_enum
-%token tok_const
-%token tok_required
-%token tok_optional
-%token tok_union
-%token tok_reference
-
-/**
- * Grammar nodes
- */
-
-%type<ttype>     BaseType
-%type<ttype>     SimpleBaseType
-%type<ttype>     ContainerType
-%type<ttype>     SimpleContainerType
-%type<ttype>     MapType
-%type<ttype>     SetType
-%type<ttype>     ListType
-
-%type<tdoc>      Definition
-%type<ttype>     TypeDefinition
-
-%type<ttypedef>  Typedef
-
-%type<ttype>     TypeAnnotations
-%type<ttype>     TypeAnnotationList
-%type<tannot>    TypeAnnotation
-%type<id>        TypeAnnotationValue
-
-%type<tfield>    Field
-%type<tfieldid>  FieldIdentifier
-%type<ereq>      FieldRequiredness
-%type<ttype>     FieldType
-%type<tconstv>   FieldValue
-%type<tstruct>   FieldList
-%type<tbool>     FieldReference
-
-%type<tenum>     Enum
-%type<tenum>     EnumDefList
-%type<tenumv>    EnumDef
-%type<tenumv>    EnumValue
-
-%type<ttypedef>  Senum
-%type<tbase>     SenumDefList
-%type<id>        SenumDef
-
-%type<tconst>    Const
-%type<tconstv>   ConstValue
-%type<tconstv>   ConstList
-%type<tconstv>   ConstListContents
-%type<tconstv>   ConstMap
-%type<tconstv>   ConstMapContents
-
-%type<iconst>    StructHead
-%type<tstruct>   Struct
-%type<tstruct>   Xception
-%type<tservice>  Service
-
-%type<tfunction> Function
-%type<ttype>     FunctionType
-%type<tservice>  FunctionList
-
-%type<tstruct>   Throws
-%type<tservice>  Extends
-%type<tbool>     Oneway
-%type<tbool>     XsdAll
-%type<tbool>     XsdOptional
-%type<tbool>     XsdNillable
-%type<tstruct>   XsdAttributes
-%type<id>        CppType
-
-%type<dtext>     CaptureDocText
-
-%%
-
-/**
- * Thrift Grammar Implementation.
- *
- * For the most part this source file works its way top down from what you
- * might expect to find in a typical .thrift file, i.e. type definitions and
- * namespaces up top followed by service definitions using those types.
- */
-
-Program:
-  HeaderList DefinitionList
-    {
-      pdebug("Program -> Headers DefinitionList");
-      if((g_program_doctext_candidate != NULL) && (g_program_doctext_status != ALREADY_PROCESSED))
-      {
-        g_program->set_doc(g_program_doctext_candidate);
-        g_program_doctext_status = ALREADY_PROCESSED;
-      }
-      clear_doctext();
-    }
-
-CaptureDocText:
-    {
-      if (g_parse_mode == PROGRAM) {
-        $$ = g_doctext;
-        g_doctext = NULL;
-      } else {
-        $$ = NULL;
-      }
-    }
-
-/* TODO(dreiss): Try to DestroyDocText in all sorts or random places. */
-DestroyDocText:
-    {
-      if (g_parse_mode == PROGRAM) {
-        clear_doctext();
-      }
-    }
-
-/* We have to DestroyDocText here, otherwise it catches the doctext
-   on the first real element. */
-HeaderList:
-  HeaderList DestroyDocText Header
-    {
-      pdebug("HeaderList -> HeaderList Header");
-    }
-|
-    {
-      pdebug("HeaderList -> ");
-    }
-
-Header:
-  Include
-    {
-      pdebug("Header -> Include");
-    }
-| tok_namespace tok_identifier tok_identifier
-    {
-      pdebug("Header -> tok_namespace tok_identifier tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace($2, $3);
-      }
-    }
-| tok_namespace '*' tok_identifier
-    {
-      pdebug("Header -> tok_namespace * tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("*", $3);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_cpp_namespace tok_identifier
-    {
-      pwarning(1, "'cpp_namespace' is deprecated. Use 'namespace cpp' instead");
-      pdebug("Header -> tok_cpp_namespace tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("cpp", $2);
-      }
-    }
-| tok_cpp_include tok_literal
-    {
-      pdebug("Header -> tok_cpp_include tok_literal");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_cpp_include($2);
-      }
-    }
-| tok_php_namespace tok_identifier
-    {
-      pwarning(1, "'php_namespace' is deprecated. Use 'namespace php' instead");
-      pdebug("Header -> tok_php_namespace tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("php", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_py_module tok_identifier
-    {
-      pwarning(1, "'py_module' is deprecated. Use 'namespace py' instead");
-      pdebug("Header -> tok_py_module tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("py", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_perl_package tok_identifier
-    {
-      pwarning(1, "'perl_package' is deprecated. Use 'namespace perl' instead");
-      pdebug("Header -> tok_perl_namespace tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("perl", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_ruby_namespace tok_identifier
-    {
-      pwarning(1, "'ruby_namespace' is deprecated. Use 'namespace rb' instead");
-      pdebug("Header -> tok_ruby_namespace tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("rb", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_smalltalk_category tok_st_identifier
-    {
-      pwarning(1, "'smalltalk_category' is deprecated. Use 'namespace smalltalk.category' instead");
-      pdebug("Header -> tok_smalltalk_category tok_st_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("smalltalk.category", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_smalltalk_prefix tok_identifier
-    {
-      pwarning(1, "'smalltalk_prefix' is deprecated. Use 'namespace smalltalk.prefix' instead");
-      pdebug("Header -> tok_smalltalk_prefix tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("smalltalk.prefix", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_java_package tok_identifier
-    {
-      pwarning(1, "'java_package' is deprecated. Use 'namespace java' instead");
-      pdebug("Header -> tok_java_package tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("java", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_cocoa_prefix tok_identifier
-    {
-      pwarning(1, "'cocoa_prefix' is deprecated. Use 'namespace cocoa' instead");
-      pdebug("Header -> tok_cocoa_prefix tok_identifier");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("cocoa", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_xsd_namespace tok_literal
-    {
-      pwarning(1, "'xsd_namespace' is deprecated. Use 'namespace xsd' instead");
-      pdebug("Header -> tok_xsd_namespace tok_literal");
-      declare_valid_program_doctext();
-      if (g_parse_mode == PROGRAM) {
-        g_program->set_namespace("cocoa", $2);
-      }
-    }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_csharp_namespace tok_identifier
-   {
-     pwarning(1, "'csharp_namespace' is deprecated. Use 'namespace csharp' instead");
-     pdebug("Header -> tok_csharp_namespace tok_identifier");
-     declare_valid_program_doctext();
-     if (g_parse_mode == PROGRAM) {
-       g_program->set_namespace("csharp", $2);
-     }
-   }
-/* TODO(dreiss): Get rid of this once everyone is using the new hotness. */
-| tok_delphi_namespace tok_identifier
-   {
-     pwarning(1, "'delphi_namespace' is deprecated. Use 'namespace delphi' instead");
-     pdebug("Header -> tok_delphi_namespace tok_identifier");
-     declare_valid_program_doctext();
-     if (g_parse_mode == PROGRAM) {
-       g_program->set_namespace("delphi", $2);
-     }
-   }
-
-Include:
-  tok_include tok_literal
-    {
-      pdebug("Include -> tok_include tok_literal");
-      declare_valid_program_doctext();
-      if (g_parse_mode == INCLUDES) {
-        std::string path = include_file(std::string($2));
-        if (!path.empty()) {
-          g_program->add_include(path, std::string($2));
-        }
-      }
-    }
-
-DefinitionList:
-  DefinitionList CaptureDocText Definition
-    {
-      pdebug("DefinitionList -> DefinitionList Definition");
-      if ($2 != NULL && $3 != NULL) {
-        $3->set_doc($2);
-      }
-    }
-|
-    {
-      pdebug("DefinitionList -> ");
-    }
-
-Definition:
-  Const
-    {
-      pdebug("Definition -> Const");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_const($1);
-      }
-      $$ = $1;
-    }
-| TypeDefinition
-    {
-      pdebug("Definition -> TypeDefinition");
-      if (g_parse_mode == PROGRAM) {
-        g_scope->add_type($1->get_name(), $1);
-        if (g_parent_scope != NULL) {
-          g_parent_scope->add_type(g_parent_prefix + $1->get_name(), $1);
-        }
-        if (! g_program->is_unique_typename($1)) {
-          yyerror("Type \"%s\" is already defined.", $1->get_name().c_str());
-          exit(1);
-        }
-      }
-      $$ = $1;
-    }
-| Service
-    {
-      pdebug("Definition -> Service");
-      if (g_parse_mode == PROGRAM) {
-        g_scope->add_service($1->get_name(), $1);
-        if (g_parent_scope != NULL) {
-          g_parent_scope->add_service(g_parent_prefix + $1->get_name(), $1);
-        }
-        g_program->add_service($1);
-        if (! g_program->is_unique_typename($1)) {
-          yyerror("Type \"%s\" is already defined.", $1->get_name().c_str());
-          exit(1);
-        }
-      }
-      $$ = $1;
-    }
-
-TypeDefinition:
-  Typedef
-    {
-      pdebug("TypeDefinition -> Typedef");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_typedef($1);
-      }
-    }
-| Enum
-    {
-      pdebug("TypeDefinition -> Enum");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_enum($1);
-      }
-    }
-| Senum
-    {
-      pdebug("TypeDefinition -> Senum");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_typedef($1);
-      }
-    }
-| Struct
-    {
-      pdebug("TypeDefinition -> Struct");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_struct($1);
-      }
-    }
-| Xception
-    {
-      pdebug("TypeDefinition -> Xception");
-      if (g_parse_mode == PROGRAM) {
-        g_program->add_xception($1);
-      }
-    }
-
-CommaOrSemicolonOptional:
-  ','
-    {}
-| ';'
-    {}
-|
-    {}
-
-Typedef:
-  tok_typedef FieldType tok_identifier TypeAnnotations CommaOrSemicolonOptional
-    {
-      pdebug("TypeDef -> tok_typedef FieldType tok_identifier");
-      validate_simple_identifier( $3);
-      t_typedef *td = new t_typedef(g_program, $2, $3);
-      $$ = td;
-      if ($4 != NULL) {
-        $$->annotations_ = $4->annotations_;
-        delete $4;
-      }
-    }
-
-Enum:
-  tok_enum tok_identifier '{' EnumDefList '}' TypeAnnotations
-    {
-      pdebug("Enum -> tok_enum tok_identifier { EnumDefList }");
-      $$ = $4;
-      validate_simple_identifier( $2);
-      $$->set_name($2);
-      if ($6 != NULL) {
-        $$->annotations_ = $6->annotations_;
-        delete $6;
-      }
-
-      // make constants for all the enum values
-      if (g_parse_mode == PROGRAM) {
-        const std::vector<t_enum_value*>& enum_values = $$->get_constants();
-        std::vector<t_enum_value*>::const_iterator c_iter;
-        for (c_iter = enum_values.begin(); c_iter != enum_values.end(); ++c_iter) {
-          std::string const_name = $$->get_name() + "." + (*c_iter)->get_name();
-          t_const_value* const_val = new t_const_value((*c_iter)->get_value());
-          const_val->set_enum($$);
-          g_scope->add_constant(const_name, new t_const(g_type_i32, (*c_iter)->get_name(), const_val));
-          if (g_parent_scope != NULL) {
-            g_parent_scope->add_constant(g_parent_prefix + const_name, new t_const(g_type_i32, (*c_iter)->get_name(), const_val));
-          }
-        }
-      }
-    }
-
-EnumDefList:
-  EnumDefList EnumDef
-    {
-      pdebug("EnumDefList -> EnumDefList EnumDef");
-      $$ = $1;
-      $$->append($2);
-    }
-|
-    {
-      pdebug("EnumDefList -> ");
-      $$ = new t_enum(g_program);
-      y_enum_val = -1;
-    }
-
-EnumDef:
-  CaptureDocText EnumValue TypeAnnotations CommaOrSemicolonOptional
-    {
-      pdebug("EnumDef -> EnumValue");
-      $$ = $2;
-      if ($1 != NULL) {
-        $$->set_doc($1);
-      }
-	  if ($3 != NULL) {
-        $$->annotations_ = $3->annotations_;
-        delete $3;
-      }
-    }
-
-EnumValue:
-  tok_identifier '=' tok_int_constant
-    {
-      pdebug("EnumValue -> tok_identifier = tok_int_constant");
-      if ($3 < INT32_MIN || $3 > INT32_MAX) {
-        // Note: this used to be just a warning.  However, since thrift always
-        // treats enums as i32 values, I'm changing it to a fatal error.
-        // I doubt this will affect many people, but users who run into this
-        // will have to update their thrift files to manually specify the
-        // truncated i32 value that thrift has always been using anyway.
-        failure("64-bit value supplied for enum %s will be truncated.", $1);
-      }
-      y_enum_val = static_cast<int32_t>($3);
-      $$ = new t_enum_value($1, y_enum_val);
-    }
- |
-  tok_identifier
-    {
-      pdebug("EnumValue -> tok_identifier");
-      validate_simple_identifier( $1);
-      if (y_enum_val == INT32_MAX) {
-        failure("enum value overflow at enum %s", $1);
-      }
-      ++y_enum_val;
-      $$ = new t_enum_value($1, y_enum_val);
-    }
-
-Senum:
-  tok_senum tok_identifier '{' SenumDefList '}' TypeAnnotations
-    {
-      pdebug("Senum -> tok_senum tok_identifier { SenumDefList }");
-      validate_simple_identifier( $2);
-      $$ = new t_typedef(g_program, $4, $2);
-      if ($6 != NULL) {
-        $$->annotations_ = $6->annotations_;
-        delete $6;
-      }
-    }
-
-SenumDefList:
-  SenumDefList SenumDef
-    {
-      pdebug("SenumDefList -> SenumDefList SenumDef");
-      $$ = $1;
-      $$->add_string_enum_val($2);
-    }
-|
-    {
-      pdebug("SenumDefList -> ");
-      $$ = new t_base_type("string", t_base_type::TYPE_STRING);
-      $$->set_string_enum(true);
-    }
-
-SenumDef:
-  tok_literal CommaOrSemicolonOptional
-    {
-      pdebug("SenumDef -> tok_literal");
-      $$ = $1;
-    }
-
-Const:
-  tok_const FieldType tok_identifier '=' ConstValue CommaOrSemicolonOptional
-    {
-      pdebug("Const -> tok_const FieldType tok_identifier = ConstValue");
-      if (g_parse_mode == PROGRAM) {
-        validate_simple_identifier( $3);
-        g_scope->resolve_const_value($5, $2);
-        $$ = new t_const($2, $3, $5);
-        validate_const_type($$);
-
-        g_scope->add_constant($3, $$);
-        if (g_parent_scope != NULL) {
-          g_parent_scope->add_constant(g_parent_prefix + $3, $$);
-        }
-      } else {
-        $$ = NULL;
-      }
-    }
-
-ConstValue:
-  tok_int_constant
-    {
-      pdebug("ConstValue => tok_int_constant");
-      $$ = new t_const_value();
-      $$->set_integer($1);
-      if (!g_allow_64bit_consts && ($1 < INT32_MIN || $1 > INT32_MAX)) {
-        pwarning(1, "64-bit constant \"%" PRIi64"\" may not work in all languages.\n", $1);
-      }
-    }
-| tok_dub_constant
-    {
-      pdebug("ConstValue => tok_dub_constant");
-      $$ = new t_const_value();
-      $$->set_double($1);
-    }
-| tok_literal
-    {
-      pdebug("ConstValue => tok_literal");
-      $$ = new t_const_value($1);
-    }
-| tok_identifier
-    {
-      pdebug("ConstValue => tok_identifier");
-      $$ = new t_const_value();
-      $$->set_identifier($1);
-    }
-| ConstList
-    {
-      pdebug("ConstValue => ConstList");
-      $$ = $1;
-    }
-| ConstMap
-    {
-      pdebug("ConstValue => ConstMap");
-      $$ = $1;
-    }
-
-ConstList:
-  '[' ConstListContents ']'
-    {
-      pdebug("ConstList => [ ConstListContents ]");
-      $$ = $2;
-    }
-
-ConstListContents:
-  ConstListContents ConstValue CommaOrSemicolonOptional
-    {
-      pdebug("ConstListContents => ConstListContents ConstValue CommaOrSemicolonOptional");
-      $$ = $1;
-      $$->add_list($2);
-    }
-|
-    {
-      pdebug("ConstListContents =>");
-      $$ = new t_const_value();
-      $$->set_list();
-    }
-
-ConstMap:
-  '{' ConstMapContents '}'
-    {
-      pdebug("ConstMap => { ConstMapContents }");
-      $$ = $2;
-    }
-
-ConstMapContents:
-  ConstMapContents ConstValue ':' ConstValue CommaOrSemicolonOptional
-    {
-      pdebug("ConstMapContents => ConstMapContents ConstValue CommaOrSemicolonOptional");
-      $$ = $1;
-      $$->add_map($2, $4);
-    }
-|
-    {
-      pdebug("ConstMapContents =>");
-      $$ = new t_const_value();
-      $$->set_map();
-    }
-
-StructHead:
-  tok_struct
-    {
-      $$ = struct_is_struct;
-    }
-| tok_union
-    {
-      $$ = struct_is_union;
-    }
-
-Struct:
-  StructHead tok_identifier XsdAll '{' FieldList '}' TypeAnnotations
-    {
-      pdebug("Struct -> tok_struct tok_identifier { FieldList }");
-      validate_simple_identifier( $2);
-      $5->set_xsd_all($3);
-      $5->set_union($1 == struct_is_union);
-      $$ = $5;
-      $$->set_name($2);
-      if ($7 != NULL) {
-        $$->annotations_ = $7->annotations_;
-        delete $7;
-      }
-    }
-
-XsdAll:
-  tok_xsd_all
-    {
-      $$ = true;
-    }
-|
-    {
-      $$ = false;
-    }
-
-XsdOptional:
-  tok_xsd_optional
-    {
-      $$ = true;
-    }
-|
-    {
-      $$ = false;
-    }
-
-XsdNillable:
-  tok_xsd_nillable
-    {
-      $$ = true;
-    }
-|
-    {
-      $$ = false;
-    }
-
-XsdAttributes:
-  tok_xsd_attrs '{' FieldList '}'
-    {
-      $$ = $3;
-    }
-|
-    {
-      $$ = NULL;
-    }
-
-Xception:
-  tok_xception tok_identifier '{' FieldList '}' TypeAnnotations
-    {
-      pdebug("Xception -> tok_xception tok_identifier { FieldList }");
-      validate_simple_identifier( $2);
-      $4->set_name($2);
-      $4->set_xception(true);
-      $$ = $4;
-      if ($6 != NULL) {
-        $$->annotations_ = $6->annotations_;
-        delete $6;
-      }
-    }
-
-Service:
-  tok_service tok_identifier Extends '{' FlagArgs FunctionList UnflagArgs '}' TypeAnnotations
-    {
-      pdebug("Service -> tok_service tok_identifier { FunctionList }");
-      validate_simple_identifier( $2);
-      $$ = $6;
-      $$->set_name($2);
-      $$->set_extends($3);
-      if ($9 != NULL) {
-        $$->annotations_ = $9->annotations_;
-        delete $9;
-      }
-    }
-
-FlagArgs:
-    {
-       g_arglist = 1;
-    }
-
-UnflagArgs:
-    {
-       g_arglist = 0;
-    }
-
-Extends:
-  tok_extends tok_identifier
-    {
-      pdebug("Extends -> tok_extends tok_identifier");
-      $$ = NULL;
-      if (g_parse_mode == PROGRAM) {
-        $$ = g_scope->get_service($2);
-        if ($$ == NULL) {
-          yyerror("Service \"%s\" has not been defined.", $2);
-          exit(1);
-        }
-      }
-    }
-|
-    {
-      $$ = NULL;
-    }
-
-FunctionList:
-  FunctionList Function
-    {
-      pdebug("FunctionList -> FunctionList Function");
-      $$ = $1;
-      $1->add_function($2);
-    }
-|
-    {
-      pdebug("FunctionList -> ");
-      $$ = new t_service(g_program);
-    }
-
-Function:
-  CaptureDocText Oneway FunctionType tok_identifier '(' FieldList ')' Throws TypeAnnotations CommaOrSemicolonOptional
-    {
-      validate_simple_identifier( $4);
-      $6->set_name(std::string($4) + "_args");
-      $$ = new t_function($3, $4, $6, $8, $2);
-      if ($1 != NULL) {
-        $$->set_doc($1);
-      }
-      if ($9 != NULL) {
-        $$->annotations_ = $9->annotations_;
-        delete $9;
-      }
-    }
-
-Oneway:
-  tok_oneway
-    {
-      $$ = true;
-    }
-|
-    {
-      $$ = false;
-    }
-
-Throws:
-  tok_throws '(' FieldList ')'
-    {
-      pdebug("Throws -> tok_throws ( FieldList )");
-      $$ = $3;
-      if (g_parse_mode == PROGRAM && !validate_throws($$)) {
-        yyerror("Throws clause may not contain non-exception types");
-        exit(1);
-      }
-    }
-|
-    {
-      $$ = new t_struct(g_program);
-    }
-
-FieldList:
-  FieldList Field
-    {
-      pdebug("FieldList -> FieldList , Field");
-      $$ = $1;
-      if (!($$->append($2))) {
-        yyerror("\"%d: %s\" - field identifier/name has already been used", $2->get_key(), $2->get_name().c_str());
-        exit(1);
-      }
-    }
-|
-    {
-      pdebug("FieldList -> ");
-      y_field_val = -1;
-      $$ = new t_struct(g_program);
-    }
-
-Field:
-  CaptureDocText FieldIdentifier FieldRequiredness FieldType FieldReference tok_identifier FieldValue XsdOptional XsdNillable XsdAttributes TypeAnnotations CommaOrSemicolonOptional
-    {
-      pdebug("tok_int_constant : Field -> FieldType tok_identifier");
-      if ($2.auto_assigned) {
-        pwarning(1, "No field key specified for %s, resulting protocol may have conflicts or not be backwards compatible!\n", $6);
-        if (g_strict >= 192) {
-          yyerror("Implicit field keys are deprecated and not allowed with -strict");
-          exit(1);
-        }
-      }
-      validate_simple_identifier($6);
-      $$ = new t_field($4, $6, $2.value);
-      $$->set_reference($5);
-      $$->set_req($3);
-      if ($7 != NULL) {
-        g_scope->resolve_const_value($7, $4);
-        validate_field_value($$, $7);
-        $$->set_value($7);
-      }
-      $$->set_xsd_optional($8);
-      $$->set_xsd_nillable($9);
-      if ($1 != NULL) {
-        $$->set_doc($1);
-      }
-      if ($10 != NULL) {
-        $$->set_xsd_attrs($10);
-      }
-      if ($11 != NULL) {
-        $$->annotations_ = $11->annotations_;
-        delete $11;
-      }
-    }
-
-FieldIdentifier:
-  tok_int_constant ':'
-    {
-      if ($1 <= 0) {
-        if (g_allow_neg_field_keys) {
-          /*
-           * g_allow_neg_field_keys exists to allow users to add explicitly
-           * specified key values to old .thrift files without breaking
-           * protocol compatibility.
-           */
-          if ($1 != y_field_val) {
-            /*
-             * warn if the user-specified negative value isn't what
-             * thrift would have auto-assigned.
-             */
-            pwarning(1, "Nonpositive field key (%" PRIi64") differs from what would be "
-                     "auto-assigned by thrift (%d).\n", $1, y_field_val);
-          }
-          /*
-           * Leave $1 as-is, and update y_field_val to be one less than $1.
-           * The FieldList parsing will catch any duplicate key values.
-           */
-          y_field_val = static_cast<int32_t>($1 - 1);
-          $$.value = static_cast<int32_t>($1);
-          $$.auto_assigned = false;
-        } else {
-          pwarning(1, "Nonpositive value (%d) not allowed as a field key.\n",
-                   $1);
-          $$.value = y_field_val--;
-          $$.auto_assigned = true;
-        }
-      } else {
-        $$.value = static_cast<int32_t>($1);
-        $$.auto_assigned = false;
-      }
-    }
-|
-    {
-      $$.value = y_field_val--;
-      $$.auto_assigned = true;
-    }
-
-FieldReference:
-  tok_reference
-    {
-      $$ = true;
-    }
-|
-   {
-     $$ = false;
-   }
-
-FieldRequiredness:
-  tok_required
-    {
-      $$ = t_field::T_REQUIRED;
-    }
-| tok_optional
-    {
-      if (g_arglist) {
-        if (g_parse_mode == PROGRAM) {
-          pwarning(1, "optional keyword is ignored in argument lists.\n");
-        }
-        $$ = t_field::T_OPT_IN_REQ_OUT;
-      } else {
-        $$ = t_field::T_OPTIONAL;
-      }
-    }
-|
-    {
-      $$ = t_field::T_OPT_IN_REQ_OUT;
-    }
-
-FieldValue:
-  '=' ConstValue
-    {
-      if (g_parse_mode == PROGRAM) {
-        $$ = $2;
-      } else {
-        $$ = NULL;
-      }
-    }
-|
-    {
-      $$ = NULL;
-    }
-
-FunctionType:
-  FieldType
-    {
-      pdebug("FunctionType -> FieldType");
-      $$ = $1;
-    }
-| tok_void
-    {
-      pdebug("FunctionType -> tok_void");
-      $$ = g_type_void;
-    }
-
-FieldType:
-  tok_identifier
-    {
-      pdebug("FieldType -> tok_identifier");
-      if (g_parse_mode == INCLUDES) {
-        // Ignore identifiers in include mode
-        $$ = NULL;
-      } else {
-        // Lookup the identifier in the current scope
-        $$ = g_scope->get_type($1);
-        if ($$ == NULL) {
-          /*
-           * Either this type isn't yet declared, or it's never
-             declared.  Either way allow it and we'll figure it out
-             during generation.
-           */
-          $$ = new t_typedef(g_program, $1, true);
-        }
-      }
-    }
-| BaseType
-    {
-      pdebug("FieldType -> BaseType");
-      $$ = $1;
-    }
-| ContainerType
-    {
-      pdebug("FieldType -> ContainerType");
-      $$ = $1;
-    }
-
-BaseType: SimpleBaseType TypeAnnotations
-    {
-      pdebug("BaseType -> SimpleBaseType TypeAnnotations");
-      if ($2 != NULL) {
-        $$ = new t_base_type(*static_cast<t_base_type*>($1));
-        $$->annotations_ = $2->annotations_;
-        delete $2;
-      } else {
-        $$ = $1;
-      }
-    }
-
-SimpleBaseType:
-  tok_string
-    {
-      pdebug("BaseType -> tok_string");
-      $$ = g_type_string;
-    }
-| tok_binary
-    {
-      pdebug("BaseType -> tok_binary");
-      $$ = g_type_binary;
-    }
-| tok_slist
-    {
-      pdebug("BaseType -> tok_slist");
-      $$ = g_type_slist;
-    }
-| tok_bool
-    {
-      pdebug("BaseType -> tok_bool");
-      $$ = g_type_bool;
-    }
-| tok_byte
-    {
-      pdebug("BaseType -> tok_byte");
-      $$ = g_type_byte;
-    }
-| tok_i16
-    {
-      pdebug("BaseType -> tok_i16");
-      $$ = g_type_i16;
-    }
-| tok_i32
-    {
-      pdebug("BaseType -> tok_i32");
-      $$ = g_type_i32;
-    }
-| tok_i64
-    {
-      pdebug("BaseType -> tok_i64");
-      $$ = g_type_i64;
-    }
-| tok_double
-    {
-      pdebug("BaseType -> tok_double");
-      $$ = g_type_double;
-    }
-
-ContainerType: SimpleContainerType TypeAnnotations
-    {
-      pdebug("ContainerType -> SimpleContainerType TypeAnnotations");
-      $$ = $1;
-      if ($2 != NULL) {
-        $$->annotations_ = $2->annotations_;
-        delete $2;
-      }
-    }
-
-SimpleContainerType:
-  MapType
-    {
-      pdebug("SimpleContainerType -> MapType");
-      $$ = $1;
-    }
-| SetType
-    {
-      pdebug("SimpleContainerType -> SetType");
-      $$ = $1;
-    }
-| ListType
-    {
-      pdebug("SimpleContainerType -> ListType");
-      $$ = $1;
-    }
-
-MapType:
-  tok_map CppType '<' FieldType ',' FieldType '>'
-    {
-      pdebug("MapType -> tok_map <FieldType, FieldType>");
-      $$ = new t_map($4, $6);
-      if ($2 != NULL) {
-        ((t_container*)$$)->set_cpp_name(std::string($2));
-      }
-    }
-
-SetType:
-  tok_set CppType '<' FieldType '>'
-    {
-      pdebug("SetType -> tok_set<FieldType>");
-      $$ = new t_set($4);
-      if ($2 != NULL) {
-        ((t_container*)$$)->set_cpp_name(std::string($2));
-      }
-    }
-
-ListType:
-  tok_list '<' FieldType '>' CppType
-    {
-      pdebug("ListType -> tok_list<FieldType>");
-      check_for_list_of_bytes($3);
-      $$ = new t_list($3);
-      if ($5 != NULL) {
-        ((t_container*)$$)->set_cpp_name(std::string($5));
-      }
-    }
-
-CppType:
-  tok_cpp_type tok_literal
-    {
-      $$ = $2;
-    }
-|
-    {
-      $$ = NULL;
-    }
-
-TypeAnnotations:
-  '(' TypeAnnotationList ')'
-    {
-      pdebug("TypeAnnotations -> ( TypeAnnotationList )");
-      $$ = $2;
-    }
-|
-    {
-      $$ = NULL;
-    }
-
-TypeAnnotationList:
-  TypeAnnotationList TypeAnnotation
-    {
-      pdebug("TypeAnnotationList -> TypeAnnotationList , TypeAnnotation");
-      $$ = $1;
-      $$->annotations_[$2->key] = $2->val;
-      delete $2;
-    }
-|
-    {
-      /* Just use a dummy structure to hold the annotations. */
-      $$ = new t_struct(g_program);
-    }
-
-TypeAnnotation:
-  tok_identifier TypeAnnotationValue CommaOrSemicolonOptional
-    {
-      pdebug("TypeAnnotation -> TypeAnnotationValue");
-      $$ = new t_annotation;
-      $$->key = $1;
-      $$->val = $2;
-    }
-
-TypeAnnotationValue:
-  '=' tok_literal
-    {
-      pdebug("TypeAnnotationValue -> = tok_literal");
-      $$ = $2;
-    }
-|
-    {
-      pdebug("TypeAnnotationValue ->");
-      $$ = strdup("1");
-    }
-
-%%

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/compiler/cpp/src/windows/config.h
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/compiler/cpp/src/windows/config.h b/depends/thirdparty/thrift/compiler/cpp/src/windows/config.h
deleted file mode 100644
index a600080..0000000
--- a/depends/thirdparty/thrift/compiler/cpp/src/windows/config.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef _THRIFT_WINDOWS_CONFIG_H_
-#define _THRIFT_WINDOWS_CONFIG_H_ 1
-
-#if defined(_MSC_VER) && (_MSC_VER > 1200)
-#pragma once
-#endif // _MSC_VER
-
-#ifndef _WIN32
-#error "This is a Windows header only"
-#endif
-
-#include <io.h>
-#include <stdlib.h>
-#include <direct.h>
-
-#define strtoll(begin_ptr, end_ptr, length) _strtoi64(begin_ptr, end_ptr, length)
-
-#define PRIu64 "I64d"
-#define PRIi64 "I64d"
-
-// squelch deprecation warnings
-#pragma warning(disable : 4996)
-// squelch bool conversion performance warning
-#pragma warning(disable : 4800)
-
-#endif // _THRIFT_WINDOWS_CONFIG_H_

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/compiler/cpp/src/windows/version.h.in
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/compiler/cpp/src/windows/version.h.in b/depends/thirdparty/thrift/compiler/cpp/src/windows/version.h.in
deleted file mode 100644
index 00ebca6..0000000
--- a/depends/thirdparty/thrift/compiler/cpp/src/windows/version.h.in
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-#ifndef _THRIFT_WINDOWS_VERSION_H_
-#define _THRIFT_WINDOWS_VERSION_H_ 1
-
-#if defined(_MSC_VER) && (_MSC_VER > 1200)
-#pragma once
-#endif // _MSC_VER
-
-#ifndef _WIN32
-#error "This is a Windows header only"
-#endif
-
-#define THRIFT_VERSION "@PACKAGE_VERSION@"
-
-#endif // _THRIFT_WINDOWS_VERSION_H_

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/compiler/cpp/version.h.in
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/compiler/cpp/version.h.in b/depends/thirdparty/thrift/compiler/cpp/version.h.in
deleted file mode 100644
index 5770ec9..0000000
--- a/depends/thirdparty/thrift/compiler/cpp/version.h.in
+++ /dev/null
@@ -1 +0,0 @@
-#define THRIFT_VERSION "@PACKAGE_VERSION@"

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/composer.json
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/composer.json b/depends/thirdparty/thrift/composer.json
deleted file mode 100644
index 0f22b76..0000000
--- a/depends/thirdparty/thrift/composer.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-    "name": "apache/thrift",
-    "description": "Apache Thrift RPC system",
-    "homepage": "http://thrift.apache.org/",
-    "type": "library",
-    "license": "Apache-2.0",
-    "authors": [
-        {
-            "name": "Apache Thrift Developers",
-            "email": "dev@thrift.apache.org",
-            "homepage": "http://thrift.apache.org"
-        }
-    ],
-    "support": {
-        "email": "dev@thrift.apache.org",
-        "issues": "https://issues.apache.org/jira/browse/THRIFT"
-    },
-    "require": {
-        "php": ">=5.3.0"
-    },
-    "autoload": {
-        "psr-0": {"Thrift": "lib/php/lib/"}
-    },
-    "minimum-stability": "dev",
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.0.x-dev"
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/configure.ac
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/configure.ac b/depends/thirdparty/thrift/configure.ac
deleted file mode 100755
index 18e3233..0000000
--- a/depends/thirdparty/thrift/configure.ac
+++ /dev/null
@@ -1,891 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-AC_PREREQ(2.65)
-AC_CONFIG_MACRO_DIR([./aclocal])
-
-AC_INIT([thrift], [0.9.3])
-
-AC_CONFIG_AUX_DIR([.])
-
-AM_INIT_AUTOMAKE([1.13 subdir-objects tar-ustar])
-PKG_PROG_PKG_CONFIG
-
-AC_ARG_VAR([PY_PREFIX], [Prefix for installing Python modules.
-                         (Normal --prefix is ignored for Python because
-                         Python has different conventions.)
-                         Default = "/usr"])
-AS_IF([test "x$PY_PREFIX" = x], [PY_PREFIX="/usr"])
-
-AC_ARG_VAR([JAVA_PREFIX], [Prefix for installing the Java lib jar.
-                           (Normal --prefix is ignored for Java because
-                           Java has different conventions.)
-                           Default = "/usr/local/lib"])
-AS_IF([test "x$JAVA_PREFIX" = x], [JAVA_PREFIX="/usr/local/lib"])
-
-AC_ARG_VAR([RUBY_PREFIX], [Prefix for installing Ruby modules.
-                           (Normal --prefix is ignored for Ruby because
-                           Ruby has different conventions.)
-                           Default = none, let ruby setup decide])
-
-AC_ARG_VAR([PHP_PREFIX], [Prefix for installing PHP modules.
-                         (Normal --prefix is ignored for PHP because
-                         PHP has different conventions.)
-                         Default = "/usr/lib/php"])
-AS_IF([test "x$PHP_PREFIX" = x], [PHP_PREFIX="/usr/lib/php"])
-
-AC_ARG_VAR([PHP_CONFIG_PREFIX],
-           [Prefix for installing PHP extension module .ini file.
-            (Normal --prefix is ignored for PHP because PHP has
-             different conventions.)
-           Default = "/etc/php.d"])
-AS_IF([test "x$PHP_CONFIG_PREFIX" = x], [PHP_CONFIG_PREFIX="/etc/php.d"])
-
-AC_ARG_VAR([INSTALLDIRS], [When installing Perl modules, specifies which
-                           of the sets of installation directories
-                           to choose: perl, site or vendor.
-                           Default = "vendor"])
-AS_IF([test "x$INSTALLDIRS" = x], [INSTALLDIRS="vendor"])
-
-AC_ARG_VAR([PERL_PREFIX], [Prefix for installing Perl modules.
-                           (Normal --prefix is ignored for Perl because
-                           Perl has different conventions.)
-                           Ignored, when INSTALLDIRS set to site or vendor.
-                           Default = "/usr/local/lib"])
-AS_IF([test "x$PERL_PREFIX" = x], [PERL_PREFIX="/usr/local"])
-
-AC_ARG_VAR([CABAL_CONFIGURE_FLAGS],
-           [Extra flags to pass to cabal: "cabal Setup.lhs configure $CABAL_CONFIGURE_FLAGS".
-            (Typically used to set --user or force --global.)])
-
-AC_SUBST(CABAL_CONFIGURE_FLAGS)
-
-AC_ARG_VAR([D_IMPORT_PREFIX], [Prefix for installing D modules.
-                           [INCLUDEDIR/d2]])
-AS_IF([test "x$D_IMPORT_PREFIX" = x], [D_IMPORT_PREFIX="${includedir}/d2"])
-
-AC_ARG_VAR([DMD_LIBEVENT_FLAGS], [DMD flags for linking libevent (auto-detected if not set).])
-AC_ARG_VAR([DMD_OPENSSL_FLAGS], [DMD flags for linking OpenSSL (auto-detected if not set).])
-
-AC_PROG_CC
-AC_PROG_CPP
-AC_PROG_CXX
-AC_PROG_INSTALL
-AC_PROG_LIBTOOL
-AC_PROG_MAKE_SET
-AC_PROG_BISON(2.5)
-AC_PROG_YACC
-AC_PROG_LEX
-AM_PROG_LEX
-AC_PROG_LN_S
-AC_PROG_MKDIR_P
-AC_PROG_AWK
-AC_PROG_RANLIB
-
-AC_LANG([C++])
-AX_CXX_COMPILE_STDCXX_11([noext], [optional])
-
-AM_EXTRA_RECURSIVE_TARGETS([style])
-AC_SUBST(CPPSTYLE_CMD, 'find . -type f \( -iname "*.h" -or -iname "*.cpp" -or -iname "*.cc" -or -iname "*.tcc" \) -printf "Reformatting: %h/%f\n" -exec clang-format -i {} \;')
-
-AC_ARG_ENABLE([libs],
-  AS_HELP_STRING([--enable-libs], [build the Apache Thrift libraries [default=yes]]),
-  [], enable_libs=yes
-)
-have_libs=yes
-if test "$enable_libs" = "no"; then
-  have_libs="no"
-  with_cpp="no"
-  with_c_glib="no"
-  with_java="no"
-  with_csharp="no"
-  with_python="no"
-  with_ruby="no"
-  with_haskell="no"
-  with_haxe="no"
-  with_perl="no"
-  with_php="no"
-  with_php_extension="no"
-  with_erlang="no"
-  with_go="no"
-  with_d="no"
-  with_nodejs="no"
-  with_lua="no"
-fi
-
-
-AX_THRIFT_LIB(cpp, [C++], yes)
-have_cpp=no
-if test "$with_cpp" = "yes";  then
-  AX_BOOST_BASE([1.53.0])
-  if test "x$succeeded" = "xyes" ; then
-    AC_SUBST([BOOST_LIB_DIR], [$(echo "$BOOST_LDFLAGS" | sed -e 's/^\-L//')])
-    AC_SUBST([BOOST_CHRONO_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_chrono.a")])
-    AC_SUBST([BOOST_FILESYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_filesystem.a")])
-    AC_SUBST([BOOST_SYSTEM_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_system.a")])
-    AC_SUBST([BOOST_TEST_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_unit_test_framework.a")])
-    AC_SUBST([BOOST_THREAD_LDADD], [$(echo "$BOOST_LIB_DIR/libboost_thread.a")])
-    have_cpp="yes"
-  fi
-
-  AX_CHECK_OPENSSL()
-
-  AX_LIB_EVENT([1.0])
-  have_libevent=$success
-
-  AX_LIB_ZLIB([1.2.3])
-  have_zlib=$success
-
-  AX_THRIFT_LIB(qt4, [Qt], yes)
-  have_qt=no
-  if test "$with_qt4" = "yes";  then
-    PKG_CHECK_MODULES([QT], [QtCore >= 4.3, QtNetwork >= 4.3], have_qt=yes, have_qt=no)
-  fi
-  if test "$have_qt" = "yes"; then
-    AC_PATH_PROGS([QT_MOC], [moc-qt4 moc], "fail")
-    if test "$QT_MOC" = "fail"; then
-      have_qt=no
-    fi
-  fi
-
-  AX_THRIFT_LIB(qt5, [Qt5], yes)
-  have_qt5=no
-  qt_reduce_reloc=""
-  if test "$with_qt5" = "yes";  then
-    PKG_CHECK_MODULES([QT5], [Qt5Core >= 5.0, Qt5Network >= 5.0],
-                      [have_qt5=yes;qt_reduce_reloc=`$PKG_CONFIG --variable=qt_config Qt5Core | grep "reduce_relocations"`],
-                      [have_qt5=no])
-  fi
-  if test "$have_qt5" = "yes"; then
-    AC_PATH_PROGS([QT5_MOC], [moc-qt5 moc], "fail")
-    if test "$QT5_MOC" = "fail"; then
-      have_qt5=no
-    fi
-  fi
-fi
-AM_CONDITIONAL([WITH_CPP], [test "$have_cpp" = "yes"])
-AM_CONDITIONAL([AMX_HAVE_LIBEVENT], [test "$have_libevent" = "yes"])
-AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$have_zlib" = "yes"])
-AM_CONDITIONAL([AMX_HAVE_QT], [test "$have_qt" = "yes"])
-AM_CONDITIONAL([AMX_HAVE_QT5], [test "$have_qt5" = "yes"])
-AM_CONDITIONAL([QT5_REDUCE_RELOCATIONS], [test "x$qt_reduce_reloc" != "x"])
-
-AX_THRIFT_LIB(c_glib, [C (GLib)], yes)
-if test "$with_c_glib" = "yes"; then
-  PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.0], have_glib2=yes, have_glib2=no)
-  PKG_CHECK_MODULES([GOBJECT], [gobject-2.0 >= 2.0], have_gobject2=yes, have_gobject2=no)
-  if test "$have_glib2" = "yes" -a "$have_gobject2" = "yes" ; then
-    have_c_glib="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_C_GLIB, [test "$have_glib2" = "yes" -a "$have_gobject2" = "yes"])
-
-AX_THRIFT_LIB(csharp, [C#], yes)
-if test "$with_csharp" = "yes";  then
-  PKG_CHECK_MODULES(MONO, mono >= 2.11.0, mono_2_11=yes, mono_2_11=no)
-  if test "$mono_2_11" == "yes"; then
-    AC_PATH_PROG([MCS], [mcs])
-    if test "x$MCS" != "x"; then
-      mono_mcs="yes"
-    fi
-  fi
-  PKG_CHECK_MODULES(MONO, mono >= 2.0.0, net_3_5=yes, net_3_5=no)
-  PKG_CHECK_MODULES(MONO, mono >= 1.2.4, have_mono=yes, have_mono=no)
-  if test "$have_mono" = "yes" ; then
-    have_csharp="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_MONO, [test "$have_csharp" = "yes"])
-AM_CONDITIONAL(NET_2_0, [test "$net_3_5" = "no"])
-AM_CONDITIONAL(MONO_MCS, [test "$mono_mcs" = "yes"])
-
-AX_THRIFT_LIB(java, [Java], yes)
-if test "$with_java" = "yes";  then
-  AX_JAVAC_AND_JAVA
-  AC_PATH_PROG([ANT], [ant])
-  AX_CHECK_ANT_VERSION($ANT, 1.7)
-  AC_SUBST(CLASSPATH)
-  AC_SUBST(ANT_FLAGS)
-  if test "x$JAVA" != "x" && test "x$JAVAC" != "x" && test "x$ANT" != "x" ; then
-    have_java="yes"
-  fi
-fi
-AM_CONDITIONAL([WITH_JAVA], [test "$have_java" = "yes"])
-
-AX_THRIFT_LIB(erlang, [Erlang], yes)
-if test "$with_erlang" = "yes";  then
-  AC_ERLANG_PATH_ERL
-  AC_ERLANG_PATH_ERLC
-  if test -n "$ERLC" ; then
-    AC_ERLANG_SUBST_LIB_DIR
-    # Install into the detected Erlang directory instead of $libdir/erlang/lib
-    ERLANG_INSTALL_LIB_DIR="$ERLANG_LIB_DIR"
-    AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
-  fi
-  if test -n "$ERL" -a -n "$ERLC" ; then
-    have_erlang="yes"
-
-    # otp_release is simply a number (like "17") for OTP17+ while "R16..." for OTP16 or less.
-    # OTP version is currently only used for running tests.
-    if $ERL -eval 'erlang:display(erlang:system_info(otp_release)),halt().' -noshell | grep "^\"R" >/dev/null; then
-      erlang_otp16_or_less="yes"
-    fi
-  fi
-fi
-AM_CONDITIONAL(WITH_ERLANG, [test "$have_erlang" = "yes"])
-AM_CONDITIONAL(ERLANG_OTP16, [test "$erlang_otp16_or_less" = "yes"])
-
-AX_THRIFT_LIB(nodejs, [Nodejs], yes)
-have_nodejs=no
-if test "$with_nodejs" = "yes"; then
-  AC_PATH_PROGS([NODEJS], [nodejs node])
-  AC_PATH_PROG([NPM], [npm])
-  if test "x$NODEJS" != "x" -a "x$NPM" != "x"; then
-    have_nodejs="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_NODEJS, [test "$have_nodejs" = "yes"])
-AM_CONDITIONAL(HAVE_NPM, [test "x$NPM" != "x"])
-
-AX_THRIFT_LIB(lua, [Lua], yes)
-have_lua=no
-if test "$with_lua" = "yes"; then
-  AX_PROG_LUA(5.2,, have_lua="yes", have_lua="no")
-  if test "$have_lua" = "yes"; then
-    AX_LUA_HEADERS(, have_lua="no")
-    AX_LUA_LIBS(, have_lua="no")
-  fi
-fi
-AM_CONDITIONAL(WITH_LUA, [test "$have_lua" = "yes"])
-
-AX_THRIFT_LIB(python, [Python], yes)
-if test "$with_python" = "yes";  then
-  AC_PATH_PROG([TRIAL], [trial])
-  AM_PATH_PYTHON(2.4,, :)
-  if test -n "$TRIAL" && test "x$PYTHON" != "x" && test "x$PYTHON" != "x:" ; then
-    have_python="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_PYTHON, [test "$have_python" = "yes"])
-
-AX_THRIFT_LIB(perl, [Perl], yes)
-if test "$with_perl" = "yes"; then
-  AC_PATH_PROG([PERL], [perl])
-  if test -n "$PERL" ; then
-    AC_PROG_PERL_MODULES([Bit::Vector], success="yes", success="no")
-    have_perl_bit_vector="$success"
-    AC_PROG_PERL_MODULES([Class::Accessor], success="yes", success="no")
-    have_perl_class_accessor="$success"
-  fi
-  if test -n "$PERL" -a "$have_perl_bit_vector" = "yes" ; then
-    if test -n "$PERL" -a "$have_perl_class_accessor" = "yes" ; then
-      have_perl="yes"
-    fi
-  fi
-fi
-AM_CONDITIONAL(WITH_PERL, [test "$have_perl" = "yes"])
-
-AX_THRIFT_LIB(php, [PHP], yes)
-if test "$with_php" = "yes"; then
-  AC_PATH_PROG([PHP], [php])
-  if test -n "$PHP" ; then
-    have_php="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_PHP, [test "$have_php" = "yes"])
-
-AX_THRIFT_LIB(php_extension, [PHP_EXTENSION], yes)
-if test "$with_php_extension" = "yes"; then
-  if test -f "lib/php/src/ext/thrift_protocol/configure"; then
-    AC_PATH_PROG([PHP_CONFIG], [php-config])
-    if test -n "$PHP_CONFIG" ; then
-      AC_CONFIG_SUBDIRS([lib/php/src/ext/thrift_protocol])
-      have_php_extension="yes"
-    fi
-  fi
-fi
-AM_CONDITIONAL(WITH_PHP_EXTENSION, [test "$have_php_extension" = "yes"])
-
-AC_PATH_PROG([PHPUNIT], [phpunit])
-AM_CONDITIONAL(HAVE_PHPUNIT, [test "x$PHPUNIT" != "x"])
-
-AX_THRIFT_LIB(ruby, [Ruby], yes)
-have_ruby=no
-if test "$with_ruby" = "yes"; then
-  AC_PATH_PROG([RUBY], [ruby])
-  AC_PATH_PROG([BUNDLER], [bundle])
-  if test "x$RUBY" != "x" -a "x$BUNDLER" != "x"; then
-    have_ruby="yes"
-  fi
-fi
-AM_CONDITIONAL(WITH_RUBY, [test "$have_ruby" = "yes"])
-AM_CONDITIONAL(HAVE_BUNDLER, [test "x$BUNDLER" != "x"])
-
-AX_THRIFT_LIB(haskell, [Haskell], yes)
-have_haskell=no
-RUNHASKELL=true
-CABAL=true
-if test "$with_haskell" = "yes"; then
-  AC_PATH_PROG([CABAL], [cabal])
-  AC_PATH_PROG([RUNHASKELL], [runhaskell])
-  if test "x$CABAL" != "x" -a "x$RUNHASKELL" != "x"; then
-    have_haskell="yes"
-  else
-    RUNHASKELL=true
-    CABAL=true
-  fi
-fi
-AC_SUBST(CABAL)
-AC_SUBST(RUNHASKELL)
-AM_CONDITIONAL(WITH_HASKELL, [test "$have_haskell" = "yes"])
-
-AX_THRIFT_LIB(go, [Go], yes)
-if test "$with_go" = "yes";  then
-  AC_PATH_PROG([GO], [go])
-  if [[ -x "$GO" ]] ; then
-    AS_IF([test -n "$GO"],[
-      ax_go_version="1.4"
-
-      AC_MSG_CHECKING([for Go version])
-      golang_version=`$GO version 2>&1 | $SED -e 's/\(go \)\(version \)\(go\)\(@<:@0-9@:>@.@<:@0-9@:>@.@<:@0-9@:>@\)\(@<:@\*@:>@*\).*/\4/'`
-      AC_MSG_RESULT($golang_version)
-      AC_SUBST([golang_version],[$golang_version])
-      AX_COMPARE_VERSION([$ax_go_version],[le],[$golang_version],[
-      :
-        have_go="yes"
-      ],[
-      :
-        have_go="no"
-      ])
-    ],[
-      AC_MSG_WARN([could not find Go ])
-      have_go="no"
-    ])
-  fi
-fi
-AM_CONDITIONAL(WITH_GO, [test "$have_go" = "yes"])
-
-
-AX_THRIFT_LIB(haxe, [Haxe], yes)
-if test "$with_haxe" = "yes";  then
-  AC_PATH_PROG([HAXE], [haxe])
-  if [[ -x "$HAXE" ]] ; then
-    AX_PROG_HAXE_VERSION( [3.1.3], have_haxe="yes", have_haxe="no")
-  fi
-fi
-AM_CONDITIONAL(WITH_HAXE, [test "$have_haxe" = "yes"])
-
-
-AX_THRIFT_LIB(d, [D], yes)
-if test "$with_d" = "yes";  then
-  AX_DMD
-  AC_SUBST(DMD)
-  if test "x$DMD" != "x"; then
-    have_d="yes"
-  fi
-fi
-
-# Determine actual name of the generated D library for use in the command line
-# when compiling tests. This is needed because the -l<lib> syntax doesn't work
-# with OPTLINK (Windows).
-lib_prefix=lib
-lib_suffix=a
-case "$host_os" in
-  cygwin* | mingw* | pw32* | cegcc*)
-    lib_prefix=""
-    lib_suffix=lib
-    ;;
-esac
-D_LIB_NAME="${lib_prefix}thriftd.${lib_suffix}"
-AC_SUBST(D_LIB_NAME)
-D_EVENT_LIB_NAME="${lib_prefix}thriftd-event.${lib_suffix}"
-AC_SUBST(D_EVENT_LIB_NAME)
-D_SSL_LIB_NAME="${lib_prefix}thriftd-ssl.${lib_suffix}"
-AC_SUBST(D_SSL_LIB_NAME)
-
-if test "$have_d" = "yes"; then
-  AX_CHECK_D_MODULE(deimos.event2.event)
-  have_deimos_event2=$success
-
-  with_d_event_tests="no"
-  if test "$have_deimos_event2" = "yes"; then
-    if test "x$DMD_LIBEVENT_FLAGS" = "x"; then
-      if test "$dmd_optlink" = "yes"; then
-        AC_MSG_WARN([D libevent interface found, but cannot auto-detect \
-linker flags for OPTLINK. Please set DMD_LIBEVENT_FLAGS manually.])
-      else
-        AX_LIB_EVENT([2.0])
-        if test "$success" = "yes"; then
-          DMD_LIBEVENT_FLAGS=$(echo "$LIBEVENT_LDFLAGS $LIBEVENT_LIBS" | \
-            sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/  */ -L/g')
-          with_d_event_tests="yes"
-        else
-          AC_MSG_WARN([D libevent interface present, but libevent library not found.])
-        fi
-      fi
-    else
-      with_d_event_tests="yes"
-    fi
-  fi
-
-  AX_CHECK_D_MODULE(deimos.openssl.ssl)
-  have_deimos_openssl=$success
-
-  with_d_ssl_tests="no"
-  if test "$have_deimos_openssl" = "yes"; then
-    if test "x$DMD_OPENSSL_FLAGS" = "x"; then
-      if test "$dmd_optlink" = "yes"; then
-        AC_MSG_WARN([D OpenSSL interface found, but cannot auto-detect \
-linker flags for OPTLINK. Please set DMD_OPENSSL_FLAGS manually.])
-      else
-        AX_CHECK_OPENSSL([with_d_ssl_tests="yes"])
-        if test "$with_d_ssl_tests" = "yes"; then
-          DMD_OPENSSL_FLAGS=$(echo "$OPENSSL_LDFLAGS $OPENSSL_LIBS" | \
-            sed -e 's/^ *//g;s/ *$//g;s/^\(.\)/-L\1/g;s/  */ -L/g')
-        else
-          AC_MSG_WARN([D OpenSSL interface present, but OpenSSL library not found.])
-        fi
-      fi
-    else
-      with_d_ssl_tests="yes"
-    fi
-  fi
-fi
-
-AM_CONDITIONAL(WITH_D, [test "$have_d" = "yes"])
-AM_CONDITIONAL(DMD_OPTLINK, [test "$dmd_optlink" = "yes"])
-AC_SUBST(DMD_OF_DIRSEP, "$dmd_of_dirsep")
-AM_CONDITIONAL(HAVE_DEIMOS_EVENT2, [test "$have_deimos_event2" = "yes"])
-AM_CONDITIONAL(WITH_D_EVENT_TESTS, [test "$with_d_event_tests" = "yes"])
-AC_SUBST(DMD_LIBEVENT_FLAGS)
-AM_CONDITIONAL(HAVE_DEIMOS_OPENSSL, [test "$have_deimos_openssl" = "yes"])
-AM_CONDITIONAL(WITH_D_SSL_TESTS, [test "$with_d_ssl_tests" = "yes"])
-AC_SUBST(DMD_OPENSSL_FLAGS)
-
-AC_ARG_ENABLE([tests],
-  AS_HELP_STRING([--enable-tests], [build tests [default=yes]]),
-  [], enable_tests=yes
-)
-have_tests=yes
-if test "$enable_tests" = "no"; then
-  have_tests="no"
-fi
-AM_CONDITIONAL(WITH_TESTS, [test "$have_tests" = "yes"])
-
-AC_ARG_ENABLE([tutorial],
-  AS_HELP_STRING([--enable-tutorial], [build tutorial [default=yes]]),
-  [], enable_tutorial=yes
-)
-have_tutorial=yes
-if test "$enable_tutorial" = "no"; then
-  have_tutorial="no"
-fi
-AM_CONDITIONAL(WITH_TUTORIAL, [test "$have_tutorial" = "yes"])
-
-AM_CONDITIONAL(MINGW, false)
-case "${host_os}" in
-*mingw*)
-  mingw32_support="yes"
-  AC_CHECK_HEADER(windows.h)
-  AM_CONDITIONAL(MINGW, true)
-  ;;
-*)
-  AC_ISC_POSIX
-  ;;
-esac
-
-AC_C_CONST
-AC_C_INLINE
-AC_C_VOLATILE
-
-AC_HEADER_STDBOOL
-AC_HEADER_STDC
-AC_HEADER_TIME
-AC_HEADER_SYS_WAIT
-AC_TYPE_SIGNAL
-AC_CHECK_HEADERS([arpa/inet.h])
-AC_CHECK_HEADERS([sys/param.h])
-AC_CHECK_HEADERS([fcntl.h])
-AC_CHECK_HEADERS([inttypes.h])
-AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([netdb.h])
-AC_CHECK_HEADERS([netinet/in.h])
-AC_CHECK_HEADERS([pthread.h])
-AC_CHECK_HEADERS([stddef.h])
-AC_CHECK_HEADERS([stdlib.h])
-AC_CHECK_HEADERS([sys/socket.h])
-AC_CHECK_HEADERS([sys/time.h])
-AC_CHECK_HEADERS([sys/un.h])
-AC_CHECK_HEADERS([sys/poll.h])
-AC_CHECK_HEADERS([sys/resource.h])
-AC_CHECK_HEADERS([unistd.h])
-AC_CHECK_HEADERS([libintl.h])
-AC_CHECK_HEADERS([malloc.h])
-AC_CHECK_HEADERS([openssl/ssl.h])
-AC_CHECK_HEADERS([openssl/rand.h])
-AC_CHECK_HEADERS([openssl/x509v3.h])
-AC_CHECK_HEADERS([sched.h])
-AC_CHECK_HEADERS([wchar.h])
-
-AC_CHECK_LIB(pthread, pthread_create)
-dnl NOTE(dreiss): I haven't been able to find any really solid docs
-dnl on what librt is and how it fits into various Unix systems.
-dnl My best guess is that it is where glibc stashes its implementation
-dnl of the POSIX Real-Time Extensions.  This seems necessary on Linux,
-dnl and we haven't yet found a system where this is a problem.
-AC_CHECK_LIB(rt, clock_gettime)
-AC_CHECK_LIB(socket, setsockopt)
-
-if test "$have_cpp" = "yes" ; then
-# mingw toolchain used to build "Thrift Compiler for Windows"
-# does not support libcrypto, so we just check if we building the cpp library
-AC_CHECK_LIB(crypto,
-    BN_init,
-    [AC_CHECK_LIB(ssl,
-        SSL_ctrl,
-        [LIBS="-lssl -lcrypto $LIBS"],
-        [AC_MSG_ERROR(["Error: libssl required"])],
-        -lcrypto
-    )],
-    [AC_MSG_ERROR(["Error: libcrypto required."])]
-)
-fi
-
-AC_TYPE_INT16_T
-AC_TYPE_INT32_T
-AC_TYPE_INT64_T
-AC_TYPE_INT8_T
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-AC_TYPE_UINT8_T
-AC_CHECK_TYPES([ptrdiff_t], [], [exit 1])
-
-AC_STRUCT_TM
-
-dnl NOTE(dreiss): AI_ADDRCONFIG is not defined on OpenBSD.
-AC_CHECK_DECL([AI_ADDRCONFIG], [],
-              [AC_DEFINE([AI_ADDRCONFIG], 0,
-                         [Define if the AI_ADDRCONFIG symbol is unavailable])],
-              [
-  #include <sys/types.h>
-  #include <sys/socket.h>
-  #include <netdb.h>
-])
-
-AC_FUNC_ALLOCA
-AC_FUNC_FORK
-AC_FUNC_MALLOC
-AC_FUNC_MEMCMP
-AC_FUNC_REALLOC
-AC_FUNC_SELECT_ARGTYPES
-AC_FUNC_STAT
-AC_FUNC_STRERROR_R
-AC_FUNC_STRFTIME
-AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([strtoul])
-AC_CHECK_FUNCS([bzero])
-AC_CHECK_FUNCS([ftruncate])
-AC_CHECK_FUNCS([gethostbyname])
-AC_CHECK_FUNCS([gethostbyname_r])
-AC_CHECK_FUNCS([gettimeofday])
-AC_CHECK_FUNCS([memmove])
-AC_CHECK_FUNCS([memset])
-AC_CHECK_FUNCS([mkdir])
-AC_CHECK_FUNCS([realpath])
-AC_CHECK_FUNCS([select])
-AC_CHECK_FUNCS([setlocale])
-AC_CHECK_FUNCS([socket])
-AC_CHECK_FUNCS([strchr])
-AC_CHECK_FUNCS([strdup])
-AC_CHECK_FUNCS([strerror])
-AC_CHECK_FUNCS([strstr])
-AC_CHECK_FUNCS([strtol])
-AC_CHECK_FUNCS([sqrt])
-dnl The following functions are optional.
-AC_CHECK_FUNCS([alarm])
-AC_CHECK_FUNCS([clock_gettime])
-AC_CHECK_FUNCS([sched_get_priority_min])
-AC_CHECK_FUNCS([sched_get_priority_max])
-AC_CHECK_FUNCS([inet_ntoa])
-AC_CHECK_FUNCS([pow])
-
-if test "$cross_compiling" = "no" ; then
-  AX_SIGNED_RIGHT_SHIFT
-fi
-
-dnl autoscan thinks we need this macro because we have a member function
-dnl called "error".  Invoke the macro but don't run the check so autoscan
-dnl thinks we are in the clear.  It's highly unlikely that we will ever
-dnl actually use the function that this checks for.
-if false ; then
-  AC_FUNC_ERROR_AT_LINE
-fi
-
-# --- Coverage hooks ---
-
-AC_ARG_ENABLE(coverage,
-              [  --enable-coverage      turn on -fprofile-arcs -ftest-coverage],
-              [case "${enableval}" in
-                yes) ENABLE_COVERAGE=1 ;;
-                no) ENABLE_COVERAGE=0 ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
-              esac],
-              [ENABLE_COVERAGE=2])
-
-if test "x[$]ENABLE_COVERAGE" = "x1"; then
-  AC_MSG_WARN(enable coverage)
-  GCOV_CFLAGS="`echo \"[$]CFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
-  GCOV_CXXFLAGS="`echo \"[$]CXXFLAGS\" | perl -pe 's/-O\d+//g;'` -fprofile-arcs -ftest-coverage"
-  GCOV_LDFLAGS="-XCClinker -fprofile-arcs -XCClinker -ftest-coverage"
-fi
-
-AC_SUBST(ENABLE_COVERAGE)
-AC_SUBST(GCOV_CFLAGS)
-AC_SUBST(GCOV_CXXFLAGS)
-AC_SUBST(GCOV_LDFLAGS)
-
-AC_ARG_ENABLE(boostthreads,
-              [  --enable-boostthreads      use boost threads, instead of POSIX pthread (experimental) ],
-              [case "${enableval}" in
-                yes) ENABLE_BOOSTTHREADS=1 ;;
-                no) ENABLE_BOOSTTHREADS=0 ;;
-                *) AC_MSG_ERROR(bad value ${enableval} for --enable-cov) ;;
-              esac],
-              [ENABLE_BOOSTTHREADS=2])
-
-
-if test "x[$]ENABLE_BOOSTTHREADS" = "x1"; then
-  AC_MSG_WARN(enable boostthreads)
-  AC_DEFINE([USE_BOOST_THREAD], [1], [experimental --enable-boostthreads that replaces POSIX pthread by boost::thread])
-  LIBS="-lboost_thread $LIBS"
-fi
-
-AM_CONDITIONAL([WITH_BOOSTTHREADS], [test "x[$]ENABLE_BOOSTTHREADS" = "x1"])
-
-AC_CONFIG_HEADERS(config.h:config.hin)
-AC_CONFIG_HEADERS(lib/cpp/src/thrift/config.h:config.hin)
-# gruard against pre defined config.h
-AH_TOP([
-#ifndef CONFIG_H
-#define CONFIG_H
-])
-AH_BOTTOM([
-#endif
-])
-
-
-AC_CONFIG_FILES([
-  Makefile
-  compiler/cpp/Makefile
-  compiler/cpp/version.h
-  compiler/cpp/src/windows/version.h
-  lib/Makefile
-  lib/cpp/Makefile
-  lib/cpp/test/Makefile
-  lib/cpp/thrift-nb.pc
-  lib/cpp/thrift-z.pc
-  lib/cpp/thrift-qt.pc
-  lib/cpp/thrift-qt5.pc
-  lib/cpp/thrift.pc
-  lib/c_glib/Makefile
-  lib/c_glib/thrift_c_glib.pc
-  lib/c_glib/test/Makefile
-  lib/csharp/Makefile
-  lib/csharp/test/ThriftTest/Makefile
-  lib/d/Makefile
-  lib/d/test/Makefile
-  lib/erl/Makefile
-  lib/go/Makefile
-  lib/go/test/Makefile
-  lib/haxe/test/Makefile
-  lib/hs/Makefile
-  lib/java/Makefile
-  lib/js/test/Makefile
-  lib/nodejs/Makefile
-  lib/perl/Makefile
-  lib/perl/test/Makefile
-  lib/php/Makefile
-  lib/php/test/Makefile
-  lib/py/Makefile
-  lib/rb/Makefile
-  lib/lua/Makefile
-  test/Makefile
-  test/c_glib/Makefile
-  test/cpp/Makefile
-  test/erl/Makefile
-  test/go/Makefile
-  test/haxe/Makefile
-  test/hs/Makefile
-  test/php/Makefile
-  test/perl/Makefile
-  test/py/Makefile
-  test/py.twisted/Makefile
-  test/py.tornado/Makefile
-  test/rb/Makefile
-  tutorial/Makefile
-  tutorial/c_glib/Makefile
-  tutorial/cpp/Makefile
-  tutorial/go/Makefile
-  tutorial/haxe/Makefile
-  tutorial/hs/Makefile
-  tutorial/java/Makefile
-  tutorial/js/Makefile
-  tutorial/nodejs/Makefile
-  tutorial/py/Makefile
-  tutorial/py.twisted/Makefile
-  tutorial/py.tornado/Makefile
-  tutorial/rb/Makefile
-])
-
-if test "$have_cpp" = "yes" ; then MAYBE_CPP="cpp" ; else MAYBE_CPP="" ; fi
-AC_SUBST([MAYBE_CPP])
-if test "$have_c_glib" = "yes" ; then MAYBE_C_GLIB="c_glib" ; else MAYBE_C_GLIB="" ; fi
-AC_SUBST([MAYBE_C_GLIB])
-if test "$have_java" = "yes" ; then MAYBE_JAVA="java" ; else MAYBE_JAVA="" ; fi
-AC_SUBST([MAYBE_JAVA])
-if test "$have_csharp" = "yes" ; then MAYBE_CSHARP="csharp" ; else MAYBE_CSHARP="" ; fi
-AC_SUBST([MAYBE_CSHARP])
-if test "$have_python" = "yes" ; then MAYBE_PYTHON="python" ; else MAYBE_PYTHON="" ; fi
-AC_SUBST([MAYBE_PYTHON])
-if test "$have_ruby" = "yes" ; then MAYBE_RUBY="rb" ; else MAYBE_RUBY="" ; fi
-AC_SUBST([MAYBE_RUBY])
-if test "$have_haskell" = "yes" ; then MAYBE_HASKELL="haskell" ; else MAYBE_HASKELL="" ; fi
-AC_SUBST([MAYBE_HASKELL])
-if test "$have_perl" = "yes" ; then MAYBE_PERL="perl" ; else MAYBE_PERL="" ; fi
-AC_SUBST([MAYBE_PERL])
-if test "$have_php" = "yes" ; then MAYBE_PHP="php" ; else MAYBE_PHP="" ; fi
-AC_SUBST([MAYBE_PHP])
-if test "$have_go" = "yes" ; then MAYBE_GO="go" ; else MAYBE_GO="" ; fi
-AC_SUBST([MAYBE_GO])
-if test "$have_nodejs" = "yes" ; then MAYBE_NODEJS="nodejs" ; else MAYBE_NODEJS="" ; fi
-AC_SUBST([MAYBE_NODEJS])
-
-AC_OUTPUT
-
-
-echo
-echo "$PACKAGE $VERSION"
-echo
-echo "Building C++ Library ......... : $have_cpp"
-echo "Building C (GLib) Library .... : $have_c_glib"
-echo "Building Java Library ........ : $have_java"
-echo "Building C# Library .......... : $have_csharp"
-echo "Building Python Library ...... : $have_python"
-echo "Building Ruby Library ........ : $have_ruby"
-echo "Building Haxe Library ........ : $have_haxe"
-echo "Building Haskell Library ..... : $have_haskell"
-echo "Building Perl Library ........ : $have_perl"
-echo "Building PHP Library ......... : $have_php"
-echo "Building Erlang Library ...... : $have_erlang"
-echo "Building Go Library .......... : $have_go"
-echo "Building D Library ........... : $have_d"
-echo "Building NodeJS Library ...... : $have_nodejs"
-echo "Building Lua Library ......... : $have_lua"
-
-if test "$have_cpp" = "yes" ; then
-  echo
-  echo "C++ Library:"
-  echo "   Build TZlibTransport ...... : $have_zlib"
-  echo "   Build TNonblockingServer .. : $have_libevent"
-  echo "   Build TQTcpServer (Qt4) .... : $have_qt"
-  echo "   Build TQTcpServer (Qt5) .... : $have_qt5"
-fi
-if test "$have_java" = "yes" ; then
-  echo
-  echo "Java Library:"
-  echo "   Using javac ............... : $JAVAC"
-  echo "   Using java ................ : $JAVA"
-  echo "   Using ant ................. : $ANT"
-fi
-if test "$have_csharp" = "yes" ; then
-  echo
-  echo "C# Library:"
-  echo "   Using .NET 3.5 ............ : $net_3_5"
-fi
-if test "$have_python" = "yes" ; then
-  echo
-  echo "Python Library:"
-  echo "   Using Python .............. : $PYTHON"
-  echo "   Using Trial ............... : $TRIAL"
-fi
-if test "$have_php" = "yes" ; then
-  echo
-  echo "PHP Library:"
-  echo "   Using php-config .......... : $PHP_CONFIG"
-fi
-if test "$have_ruby" = "yes" ; then
-  echo
-  echo "Ruby Library:"
-  echo "   Using Ruby ................ : $RUBY"
-fi
-if test "$have_haskell" = "yes" ; then
-  echo
-  echo "Haskell Library:"
-  echo "   Using Haskell ............. : $RUNHASKELL"
-  echo "   Using Cabal ............... : $CABAL"
-fi
-if test "$have_haxe" = "yes" ; then
-  echo
-  echo "Haxe Library:"
-  echo "   Using Haxe ................ : $HAXE"
-  echo "   Using Haxe version ........ : $HAXE_VERSION"
-fi
-if test "$have_perl" = "yes" ; then
-  echo
-  echo "Perl Library:"
-  echo "   Using Perl ................ : $PERL"
-fi
-if test "$have_erlang" = "yes" ; then
-  echo
-  echo "Erlang Library:"
-  echo "   Using erlc ................ : $ERLC"
-fi
-if test "$have_go" = "yes" ; then
-  echo
-  echo "Go Library:"
-  echo "   Using Go................... : $GO"
-  echo "   Using Go version........... : $($GO version)"
-fi
-if test "$have_d" = "yes" ; then
-  echo
-  echo "D Library:"
-  echo "   Using D Compiler .......... : $DMD"
-  echo "   Building D libevent tests . : $with_d_event_tests"
-  echo "   Building D SSL tests ...... : $with_d_ssl_tests"
-fi
-if test "$have_nodejs" = "yes" ; then
-  echo
-  echo "NodeJS Library:"
-  echo "   Using NodeJS .............. : $NODEJS"
-  echo "   Using NodeJS version....... : $($NODEJS --version)"
-fi
-if test "$have_lua" = "yes" ; then
-  echo
-  echo "Lua Library:"
-  echo "   Using Lua .............. : $LUA"
-fi
-echo
-echo "If something is missing that you think should be present,"
-echo "please skim the output of configure to find the missing"
-echo "component.  Details are present in config.log."

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/App.config
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/App.config b/depends/thirdparty/thrift/contrib/Rebus/App.config
deleted file mode 100644
index 4208af6..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/App.config
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<configuration>
-  
-  <configSections>
-    <section name="rebus" type="Rebus.Configuration.RebusConfigurationSection, Rebus"/>
-  </configSections>
-
-  <rebus inputQueue="MyResponses" errorQueue="MyErrors" workers="1">
-    <endpoints>
-      <add messages="RebusSample.MathRequestCall, RebusSample" endpoint="MathRequests"/>
-      <add messages="RebusSample.MathResponseCall, RebusSample" endpoint="MathResponses"/>
-    </endpoints>
-  </rebus>
-
-  <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/Program.cs
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/Program.cs b/depends/thirdparty/thrift/contrib/Rebus/Program.cs
deleted file mode 100644
index 563c62a..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/Program.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-\ufeff/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using Rebus.Configuration;
-using Rebus.RabbitMQ;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using RebusSample.Client;
-using RebusSample.Server;
-
-namespace RebusSample
-{
-    class Program
-    {
-        static BuiltinContainerAdapter StartRequestServer(string server)
-        {
-            // client Rebus configuration
-            var adapter = new BuiltinContainerAdapter();
-            Configure.With(adapter)
-                .Transport(t => t.UseRabbitMq("amqp://" + server, "MathRequests", "MathRequestErrors"))
-                .MessageOwnership(o => o.FromRebusConfigurationSection())
-                .CreateBus().Start();
-
-            // register all relevant message handlers 
-            adapter.Register(typeof(MathRequestCallHandler));
-            return adapter;
-        }
-
-
-        static BuiltinContainerAdapter StartResponseServer(string server)
-        {
-            // client Rebus configuration
-            var adapter = new BuiltinContainerAdapter();
-            Configure.With(adapter)
-                .Transport(t => t.UseRabbitMq("amqp://" + server, "MathResponses", "MathResponseErrors"))
-                .MessageOwnership(o => o.FromRebusConfigurationSection())
-                .CreateBus().Start();
-
-            // register all relevant message handlers 
-            adapter.Register(typeof(MathResponseCallHandler));
-            return adapter;
-        }
-
-        static void Main(string[] args)
-        {
-            string server = "localhost";
-
-            // start all servers
-            var req = StartRequestServer(server);
-            var rsp = StartResponseServer(server);
-
-            // send the first message
-            var random = new Random();
-            var client = new MathRequestClient(server);
-            client.DoTheMath(random.Next(), random.Next());
-
-            // now what?
-            Console.Write("Hit <ENTER> to stop ... ");
-            Console.ReadLine();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/Properties/AssemblyInfo.cs b/depends/thirdparty/thrift/contrib/Rebus/Properties/AssemblyInfo.cs
deleted file mode 100644
index 5de6a14..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-\ufeff/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-[assembly: AssemblyTitle("RebusSample")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("RebusSample")]
-[assembly: AssemblyCopyright("Copyright �  2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-[assembly: ComVisible(false)]
-
-[assembly: Guid("0af10984-40d3-453d-b1e5-421529e8c7e2")]
-
-[assembly: AssemblyVersion("0.9.3.0")]
-[assembly: AssemblyFileVersion("0.9.3.0")]

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/README.md
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/README.md b/depends/thirdparty/thrift/contrib/Rebus/README.md
deleted file mode 100644
index bbb9c49..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-Sample code for the combination of Thrift with Rebus.
-
-Rebus is a .NET service bus, similar to NServiceBus, but more lightweight. 
-It ihas been mainly written by Mogens Heller Grabe and is currently hosted 
-on GitHub (https://github.com/rebus-org/Rebus)
-
-As with all ServiceBus or MQ scenarios, due to the highly asynchronous 
-operations it is recommended to do all calls as "oneway void" calls.
-
-The configuration can be done via App.Config, via code or even mixed from 
-both locations. Refer to the Rebus documentation for further details. For 
-this example, since we are effectively implementing two queue listeners in 
-only one single process, we do configuration of incoming and error queues 
-in the code.
-
-If you want to communicate with non-NET languages, you may need a customized 
-serializer as well, in order to override Rebus' default wire format. Please 
-refer to the Rebus docs on how to do that (it's not that hard, really).
-
-Additional requirements:
-- RabbitMQ .NET client (see nuget)

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/RebusSample.csproj
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/RebusSample.csproj b/depends/thirdparty/thrift/contrib/Rebus/RebusSample.csproj
deleted file mode 100644
index 4058a6d..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/RebusSample.csproj
+++ /dev/null
@@ -1,102 +0,0 @@
-\ufeff<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements. See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership. The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied. See the License for the
-  specific language governing permissions and limitations
-  under the License.
--->
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{264E2126-EDE0-4B47-89C1-B397B25BB13D}</ProjectGuid>
-    <OutputType>Exe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>RebusSample</RootNamespace>
-    <AssemblyName>RebusSample</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="RabbitMQ.Client">
-      <HintPath>..\..\..\..\..\Toolbox\ServiceBus\3rdparty\rabbitmq-dotnet-client-3.2.1-dotnet-3.0\bin\RabbitMQ.Client.dll</HintPath>
-    </Reference>
-    <Reference Include="Rebus">
-      <HintPath>..\..\..\..\..\Toolbox\ServiceBus\3rdparty\Rebus-master\deploy\NET40\Rebus.dll</HintPath>
-    </Reference>
-    <Reference Include="Rebus.RabbitMQ">
-      <HintPath>..\..\..\..\..\Toolbox\ServiceBus\3rdparty\Rebus-master\deploy\NET40\Rebus.RabbitMQ.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="gen-csharp\BasicMathClient.cs" />
-    <Compile Include="gen-csharp\BasicMathServer.cs" />
-    <Compile Include="ServiceImpl\Both.cs" />
-    <Compile Include="ServiceImpl\Client.cs" />
-    <Compile Include="Program.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="ServiceImpl\Server.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <ItemGroup />
-  <ItemGroup>
-    <ProjectReference Include="..\..\lib\csharp\src\Thrift.csproj">
-      <Project>{499eb63c-d74c-47e8-ae48-a2fc94538e9d}</Project>
-      <Name>Thrift</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup>
-    <PreBuildEvent>cd $(ProjectDir)
-if not exist gen-csharp\*.cs   thrift  -gen csharp sample.thrift
-</PreBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/RebusSample.sln
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/RebusSample.sln b/depends/thirdparty/thrift/contrib/Rebus/RebusSample.sln
deleted file mode 100644
index 284ef36..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/RebusSample.sln
+++ /dev/null
@@ -1,28 +0,0 @@
-\ufeff
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.30110.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RebusSample", "RebusSample.csproj", "{264E2126-EDE0-4B47-89C1-B397B25BB13D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Thrift", "..\..\lib\csharp\src\Thrift.csproj", "{499EB63C-D74C-47E8-AE48-A2FC94538E9D}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{264E2126-EDE0-4B47-89C1-B397B25BB13D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{264E2126-EDE0-4B47-89C1-B397B25BB13D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{264E2126-EDE0-4B47-89C1-B397B25BB13D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{264E2126-EDE0-4B47-89C1-B397B25BB13D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{499EB63C-D74C-47E8-AE48-A2FC94538E9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{499EB63C-D74C-47E8-AE48-A2FC94538E9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{499EB63C-D74C-47E8-AE48-A2FC94538E9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{499EB63C-D74C-47E8-AE48-A2FC94538E9D}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/928eade3/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Both.cs
----------------------------------------------------------------------
diff --git a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Both.cs b/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Both.cs
deleted file mode 100644
index fba67ec..0000000
--- a/depends/thirdparty/thrift/contrib/Rebus/ServiceImpl/Both.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-
-
-namespace RebusSample
-{
-    // generic data container for serialized Thrift calls
-    public class GenericThriftServiceCall
-    {
-        public byte[] rawBytes;
-    }
-
-    // specific containers (one per Thrift service) to leverage Rebus' handler routing
-    public class MathRequestCall : GenericThriftServiceCall { }
-    public class MathResponseCall : GenericThriftServiceCall { }
-
-}
\ No newline at end of file