Thrift: Add a Makefile to build the C# library with Mono.
Reviewed By: mcslee
Test Plan: Installed Mono and built it.
Revert Plan: ok
Other Notes:
Submitted by Ben Maurer.
Actually reviewed by Todd Berman.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665465 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/cleanup.sh b/cleanup.sh
index 4760f43..fe0d6ed 100755
--- a/cleanup.sh
+++ b/cleanup.sh
@@ -34,4 +34,5 @@
lib/Makefile.in \
lib/cpp/Makefile.in \
lib/py/Makefile.in \
+lib/csharp/Makefile.in \
test/Makefile.in
diff --git a/configure.ac b/configure.ac
index de9d704..335ec87 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,6 +34,10 @@
AX_LIB_ZLIB([1.2.3])
AM_CONDITIONAL([AMX_HAVE_ZLIB], [test "$success" = "yes"])
+PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)
+AM_CONDITIONAL(ENABLE_MONO, [test "$have_mono" = "yes"])
+
+
AC_C_CONST
AC_C_INLINE
AC_C_VOLATILE
@@ -104,6 +108,7 @@
lib/cpp/thrift.pc
lib/cpp/thrift-nb.pc
lib/cpp/thrift-z.pc
+ lib/csharp/Makefile
lib/py/Makefile
if/Makefile
test/Makefile
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 06cf11a..caf002f 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -2,6 +2,10 @@
cpp \
py
+if ENABLE_MONO
+SUBDIRS += csharp
+endif
+
EXTRA_DIST = \
cocoa \
erl \
diff --git a/lib/csharp/Makefile.am b/lib/csharp/Makefile.am
new file mode 100644
index 0000000..3b88dbb
--- /dev/null
+++ b/lib/csharp/Makefile.am
@@ -0,0 +1,37 @@
+THRIFTCODE= \
+ src/Protocol/TProtocolException.cs \
+ src/Protocol/TProtocolFactory.cs \
+ src/Protocol/TList.cs \
+ src/Protocol/TSet.cs \
+ src/Protocol/TMap.cs \
+ src/Protocol/TProtocolUtil.cs \
+ src/Protocol/TMessageType.cs \
+ src/Protocol/TProtocol.cs \
+ src/Protocol/TType.cs \
+ src/Protocol/TField.cs \
+ src/Protocol/TMessage.cs \
+ src/Protocol/TStruct.cs \
+ src/Protocol/TBinaryProtocol.cs \
+ src/Server/TThreadPoolServer.cs \
+ src/Server/TSimpleServer.cs \
+ src/Server/TServer.cs \
+ src/Transport/TTransport.cs \
+ src/Transport/TSocket.cs \
+ src/Transport/TTransportException.cs \
+ src/Transport/TStreamTransport.cs \
+ src/Transport/TServerTransport.cs \
+ src/Transport/TServerSocket.cs \
+ src/Transport/TTransportFactory.cs \
+ src/TProcessor.cs \
+ src/TApplicationException.cs
+
+
+CSC=gmcs -langversion:linq
+
+all: Thrift.dll
+
+Thrift.dll: $(THRIFTCODE)
+ $(CSC) $(THRIFTCODE) /out:Thrift.dll /target:library
+
+clean-local:
+ $(RM) Thrift.dll