atrace: clean up tracing option enabling

This change switches atrace to use a table-driven approach to enabling and
disabling options.  It unifies how framework and kernel tracing are enabled,
and causes userland tracing options to be picked up by currently running
processes.

Change-Id: Iba2a3012ca0a67c4defdd076bce597db26e9f539
diff --git a/cmds/atrace/Android.mk b/cmds/atrace/Android.mk
index 12526d0..028ca8f 100644
--- a/cmds/atrace/Android.mk
+++ b/cmds/atrace/Android.mk
@@ -3,15 +3,18 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_SRC_FILES:= atrace.c
+LOCAL_SRC_FILES:= atrace.cpp
 
 LOCAL_C_INCLUDES += external/zlib
-LOCAL_CFLAGS += -std=c99
 
 LOCAL_MODULE:= atrace
 
 LOCAL_MODULE_TAGS:= optional
 
-LOCAL_SHARED_LIBRARIES := libz
+LOCAL_SHARED_LIBRARIES := \
+    libbinder \
+    libcutils \
+    libutils \
+    libz \
 
 include $(BUILD_EXECUTABLE)