Enable building of Cgpt C++ Library for 32-bit.

The existing library had a bunch of dependencies which are too many to
build for the 32-bit platform. So this checkin prunes the dependency
list by building only things that are absolutely required for the
functionality used in 32-bit Post-Installer.

Made the use of libuuid restricted only to cgpt and unit tests so that
libcgpt-cc.a doesn't depend on it.

BUG=chromium-os:25374
TEST=Built 32-bit and 64-bit. Tested 32-bit post-install.
Change-Id: Idd0826fdf507a95728fee8adac9520e26f05d469
Reviewed-on: https://gerrit.chromium.org/gerrit/16433
Reviewed-by: Don Garrett <dgarrett@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Commit-Ready: Jay Srinivasan <jaysri@chromium.org>
Tested-by: Jay Srinivasan <jaysri@chromium.org>
diff --git a/cgpt/cgpt.h b/cgpt/cgpt.h
index d510f5a..1c80916 100644
--- a/cgpt/cgpt.h
+++ b/cgpt/cgpt.h
@@ -136,6 +136,13 @@
 extern const char* command;
 void Error(const char *format, ...);
 
+// The code paths that require uuid_generate are not used currently in
+// libcgpt-cc.a so using this method would create an unnecessary dependency
+// on libuuid which then requires us to build it for 32-bit for the static
+// post-installer. So, we just expose this function pointer which should be
+// set to uuid_generate in case of the cgpt binary and can be null or some
+// no-op method in case of ilbcgpt-cc.a.
+extern void (*uuid_generator)(uint8_t* buffer);
 
 // Command functions.
 int cmd_show(int argc, char *argv[]);