libbinder: Don't redefine B_PACK_CHARS
This macro is defined in linux/binder.h which is *sometimes* included
before binder/IBinder.h depending on codepath.
Bug: 25868260
Test: Compiles
Change-Id: Ied1e6658936668c16cbdacab3a3205107c907655
diff --git a/include/hwbinder/IBinder.h b/include/hwbinder/IBinder.h
index 43b6543..607c18b 100644
--- a/include/hwbinder/IBinder.h
+++ b/include/hwbinder/IBinder.h
@@ -17,14 +17,17 @@
#ifndef ANDROID_IBINDER_H
#define ANDROID_IBINDER_H
+#include <cstdlib> // Defines types needed for linux/binder.h
+#include <linux/binder.h> // Needed for B_PACK_CHARS
+
#include <utils/Errors.h>
#include <utils/RefBase.h>
#include <utils/String16.h>
#include <utils/Vector.h>
-
-#define B_PACK_CHARS(c1, c2, c3, c4) \
- ((((c1)<<24)) | (((c2)<<16)) | (((c3)<<8)) | (c4))
+#ifndef B_PACK_CHARS
+#error "linux/binder.h no longer defines B_PACK_CHARS"
+#endif
// ---------------------------------------------------------------------------
namespace android {