Ported build break fixes from CrOS side

There have been some fixes for build break in libweave on CrOS.
Porting them over to Brillo

Change-Id: I839e92c341aab6bd64165cb19173fcafec9b1fad
diff --git a/libweave/include/weave/enum_to_string.h b/libweave/include/weave/enum_to_string.h
index 9d2aa59..d6c2b79 100644
--- a/libweave/include/weave/enum_to_string.h
+++ b/libweave/include/weave/enum_to_string.h
@@ -5,11 +5,9 @@
 #ifndef LIBWEAVE_INCLUDE_WEAVE_ENUM_TO_STRING_H_
 #define LIBWEAVE_INCLUDE_WEAVE_ENUM_TO_STRING_H_
 
-#include <base/logging.h>
-
 #include <string>
 
-#include <weave/export.h>
+#include <base/logging.h>
 
 namespace weave {
 
@@ -32,7 +30,7 @@
     const char* const name;
   };
 
-  LIBWEAVE_EXPORT EnumToStringMap();
+  EnumToStringMap();
 
   const Map* begin() const { return begin_; }
   const Map* end() const { return end_; }
diff --git a/libweave/src/commands/command_instance.cc b/libweave/src/commands/command_instance.cc
index 1470cdb..2b7128e 100644
--- a/libweave/src/commands/command_instance.cc
+++ b/libweave/src/commands/command_instance.cc
@@ -8,6 +8,7 @@
 #include <chromeos/errors/error.h>
 #include <chromeos/errors/error_codes.h>
 #include <weave/enum_to_string.h>
+#include <weave/export.h>
 
 #include "libweave/src/commands/command_definition.h"
 #include "libweave/src/commands/command_dictionary.h"
@@ -39,11 +40,11 @@
 }  // namespace
 
 template <>
-EnumToStringMap<CommandStatus>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<CommandStatus>::EnumToStringMap()
     : EnumToStringMap(kMapStatus) {}
 
 template <>
-EnumToStringMap<CommandOrigin>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<CommandOrigin>::EnumToStringMap()
     : EnumToStringMap(kMapOrigin) {}
 
 CommandInstance::CommandInstance(const std::string& name,
diff --git a/libweave/src/commands/user_role.cc b/libweave/src/commands/user_role.cc
index e1a3620..4f69849 100644
--- a/libweave/src/commands/user_role.cc
+++ b/libweave/src/commands/user_role.cc
@@ -6,6 +6,7 @@
 
 #include <weave/commands.h>
 #include <weave/enum_to_string.h>
+#include <weave/export.h>
 
 #include "libweave/src/commands/schema_constants.h"
 
@@ -23,7 +24,7 @@
 }  // namespace
 
 template <>
-EnumToStringMap<UserRole>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<UserRole>::EnumToStringMap()
     : EnumToStringMap(kMap) {}
 
 }  // namespace weave
diff --git a/libweave/src/privet/privet_types.cc b/libweave/src/privet/privet_types.cc
index 6ab0f76..5d1222d 100644
--- a/libweave/src/privet/privet_types.cc
+++ b/libweave/src/privet/privet_types.cc
@@ -7,6 +7,7 @@
 #include <string>
 
 #include <weave/enum_to_string.h>
+#include <weave/export.h>
 #include <weave/network.h>
 #include <weave/privet.h>
 
@@ -76,35 +77,35 @@
 }  // namespace
 
 template <>
-EnumToStringMap<PairingType>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<PairingType>::EnumToStringMap()
     : EnumToStringMap(kPairingTypeMap) {}
 
 template <>
-EnumToStringMap<ConnectionState::Status>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<ConnectionState::Status>::EnumToStringMap()
     : EnumToStringMap(kConnectionStateMap) {}
 
 template <>
-EnumToStringMap<SetupState::Status>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<SetupState::Status>::EnumToStringMap()
     : EnumToStringMap(kSetupStateMap) {}
 
 template <>
-EnumToStringMap<WifiType>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<WifiType>::EnumToStringMap()
     : EnumToStringMap(kWifiTypeMap) {}
 
 template <>
-EnumToStringMap<CryptoType>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<CryptoType>::EnumToStringMap()
     : EnumToStringMap(kCryptoTypeMap) {}
 
 template <>
-EnumToStringMap<AuthScope>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<AuthScope>::EnumToStringMap()
     : EnumToStringMap(kAuthScopeMap) {}
 
 template <>
-EnumToStringMap<WifiSetupState>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<WifiSetupState>::EnumToStringMap()
     : EnumToStringMap(kWifiSetupStateMap) {}
 
 template <>
-EnumToStringMap<NetworkState>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<NetworkState>::EnumToStringMap()
     : EnumToStringMap(kNetworkStateMap) {}
 
 }  // namespace weave
diff --git a/libweave/src/registration_status.cc b/libweave/src/registration_status.cc
index 866fcaa..35f93c4 100644
--- a/libweave/src/registration_status.cc
+++ b/libweave/src/registration_status.cc
@@ -4,6 +4,7 @@
 
 #include <weave/cloud.h>
 #include <weave/enum_to_string.h>
+#include <weave/export.h>
 
 namespace weave {
 
@@ -19,7 +20,7 @@
 }  // namespace
 
 template <>
-EnumToStringMap<RegistrationStatus>::EnumToStringMap()
+LIBWEAVE_EXPORT EnumToStringMap<RegistrationStatus>::EnumToStringMap()
     : EnumToStringMap(kMap) {}
 
 }  // namespace weave