/compiler/cpp/thriftl.cc
/compiler/cpp/thrifty.cc
/compiler/cpp/thrifty.h
+/compiler/cpp/thrifty.hh
/compiler/cpp/version.h
/config.*
/configure
exit 1
fi
+# automake <= 1.11 names yacc output .h rather than .hh -- see THRIFT-1614
+echo '#include "thrifty.h"' > compiler/cpp/thrifty.hh
+
autoscan
$LIBTOOLIZE --copy --automake
aclocal -I ./aclocal
$(WINDOWS_DIST)
clean-local:
- $(RM) thriftl.cc thrifty.cc thrifty.h version.h windows/version.h
+ $(RM) thriftl.cc thrifty.cc thrifty.h thrifty.hh version.h windows/version.h
+ echo '#include "thrifty.h"' > compiler/cpp/thrifty.hh
src/main.cc: version.h
Building the Thrift IDL compiler in Windows
-------------------------------------------
-The Visual Studio project contains pre-build commands to generate the
-thriftl.cc, thrifty.cc and thrifty.h files which are necessary to build
+The Visual Studio project contains pre-build commands to generate the
+thriftl.cc, thrifty.cc and thrifty.hh files which are necessary to build
the compiler. These depend on bison, flex and their dependencies to
work properly. If this doesn't work on a system, try these manual
pre-build steps.
Place a copy of bison.simple in thrift/compiler/cpp
> bison -y -o "src/thrifty.cc" --defines src/thrifty.yy
-> move src\thrifty.cc.h src\thrifty.h
+> move src\thrifty.cc.hh src\thrifty.hh
-Download inttypes.h from the interwebs and place it in an include path
+Download inttypes.h from the interwebs and place it in an include path
location (e.g. thrift/compiler/cpp/src).
Build the compiler in Visual Studio.
<ClInclude Include="src\parse\t_type.h" />
<ClInclude Include="src\parse\t_typedef.h" />
<ClInclude Include="src\platform.h" />
- <ClInclude Include="src\thrifty.h" />
+ <ClInclude Include="src\thrifty.hh" />
<ClInclude Include="src\windows\config.h" />
<ClInclude Include="src\windows\version.h" />
</ItemGroup>
</Link>
<PreBuildEvent>
<Command>flex -o "src\\thriftl.cc" src/thriftl.ll
-bison -y -o "src\thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy</Command>
+bison -y -o "src\thrifty.cc" --defines="src/thrifty.hh" src/thrifty.yy</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
</Link>
<PreBuildEvent>
<Command>flex -o "src\thriftl.cc" src/thriftl.ll
-bison -y -o "src\thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy</Command>
+bison -y -o "src\thrifty.cc" --defines="src/thrifty.hh" src/thrifty.yy</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</Link>
<PreBuildEvent>
<Command>flex -o "src\thriftl.cc" src/thriftl.ll
-bison -y -o "src\thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy</Command>
+bison -y -o "src\thrifty.cc" --defines="src/thrifty.hh" src/thrifty.yy</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
</Link>
<PreBuildEvent>
<Command>flex -o "src\thriftl.cc" src/thriftl.ll
-bison -y -o "src\thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy</Command>
+bison -y -o "src\thrifty.cc" --defines="src/thrifty.hh" src/thrifty.yy</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Filter>parse</Filter>
</ClInclude>
<ClInclude Include="src\platform.h" />
- <ClInclude Include="src\thrifty.h" />
+ <ClInclude Include="src\thrifty.hh" />
<ClInclude Include="src\windows\config.h">
<Filter>windows</Filter>
</ClInclude>
* Must be included AFTER parse/t_program.h, but I can't remember why anymore
* because I wrote this a while ago.
*/
-#include "thrifty.h"
+#include "thrifty.hh"
void thrift_reserved_keyword(char* keyword) {
yyerror("Cannot use reserved language keyword: \"%s\"\n", keyword);
*.m4
autom4te.cache
thrifty.h
+thrifty.hh
version.h
version.h.in
md5.c