Link matrix.c into weston again

We want to make sure that the matrix symbols are exported from weston and
that modules get them from there.  To do that, we pull matrix.[ch] out of
libshared and back into weston.  calibrator now also links to matrix.[ch]
and we add a IN_WESTON define to enable the WL_EXPORT macro when compiled
inside weston.
diff --git a/clients/Makefile.am b/clients/Makefile.am
index f2f90a8..a4d09f9 100644
--- a/clients/Makefile.am
+++ b/clients/Makefile.am
@@ -123,7 +123,7 @@
 transformed_SOURCES = transformed.c
 transformed_LDADD = $(toolkit_libs)
 
-calibrator_SOURCES = calibrator.c
+calibrator_SOURCES = calibrator.c ../shared/matrix.c ../shared/matrix.h
 calibrator_LDADD = $(toolkit_libs)
 
 editor_SOURCES = 				\
diff --git a/shared/Makefile.am b/shared/Makefile.am
index faf073d..b38cb95 100644
--- a/shared/Makefile.am
+++ b/shared/Makefile.am
@@ -7,9 +7,7 @@
 	option-parser.c				\
 	config-parser.h				\
 	os-compatibility.c			\
-	os-compatibility.h			\
-	matrix.c				\
-	matrix.h
+	os-compatibility.h
 
 libshared_cairo_la_CFLAGS =			\
 	$(GCC_CFLAGS)				\
diff --git a/shared/matrix.c b/shared/matrix.c
index 91acdd3..11b5b95 100644
--- a/shared/matrix.c
+++ b/shared/matrix.c
@@ -24,7 +24,12 @@
 #include <string.h>
 #include <stdlib.h>
 #include <math.h>
+
+#ifdef IN_WESTON
 #include <wayland-server.h>
+#else
+#define WL_EXPORT
+#endif
 
 #include "matrix.h"
 
diff --git a/src/Makefile.am b/src/Makefile.am
index 0d92194..2eade1d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,7 +4,8 @@
 AM_CPPFLAGS =					\
 	-DDATADIR='"$(datadir)"'		\
 	-DMODULEDIR='"$(moduledir)"'		\
-	-DLIBEXECDIR='"$(libexecdir)"'
+	-DLIBEXECDIR='"$(libexecdir)"'		\
+	-DIN_WESTON
 
 weston_LDFLAGS = -export-dynamic
 weston_CFLAGS = $(GCC_CFLAGS) $(COMPOSITOR_CFLAGS)
@@ -35,6 +36,8 @@
 	gl-renderer.h				\
 	gl-renderer.c				\
 	noop-renderer.c				\
+	../shared/matrix.c			\
+	../shared/matrix.h			\
 	weston-launch.h				\
 	weston-egl-ext.h