Split lib/support into lib/gpr and lib/gpr++.
diff --git a/BUILD b/BUILD
index 186d664..c52a95c 100644
--- a/BUILD
+++ b/BUILD
@@ -448,75 +448,67 @@
     srcs = [
         "src/core/lib/profiling/basic_timers.cc",
         "src/core/lib/profiling/stap_timers.cc",
-        "src/core/lib/support/alloc.cc",
-        "src/core/lib/support/arena.cc",
-        "src/core/lib/support/atm.cc",
-        "src/core/lib/support/avl.cc",
-        "src/core/lib/support/cmdline.cc",
-        "src/core/lib/support/cpu_iphone.cc",
-        "src/core/lib/support/cpu_linux.cc",
-        "src/core/lib/support/cpu_posix.cc",
-        "src/core/lib/support/cpu_windows.cc",
-        "src/core/lib/support/env_linux.cc",
-        "src/core/lib/support/env_posix.cc",
-        "src/core/lib/support/env_windows.cc",
-        "src/core/lib/support/fork.cc",
-        "src/core/lib/support/host_port.cc",
-        "src/core/lib/support/log.cc",
-        "src/core/lib/support/log_android.cc",
-        "src/core/lib/support/log_linux.cc",
-        "src/core/lib/support/log_posix.cc",
-        "src/core/lib/support/log_windows.cc",
-        "src/core/lib/support/mpscq.cc",
-        "src/core/lib/support/murmur_hash.cc",
-        "src/core/lib/support/string.cc",
-        "src/core/lib/support/string_posix.cc",
-        "src/core/lib/support/string_util_windows.cc",
-        "src/core/lib/support/string_windows.cc",
-        "src/core/lib/support/subprocess_posix.cc",
-        "src/core/lib/support/subprocess_windows.cc",
-        "src/core/lib/support/sync.cc",
-        "src/core/lib/support/sync_posix.cc",
-        "src/core/lib/support/sync_windows.cc",
-        "src/core/lib/support/thd.cc",
-        "src/core/lib/support/thd_posix.cc",
-        "src/core/lib/support/thd_windows.cc",
-        "src/core/lib/support/time.cc",
-        "src/core/lib/support/time_posix.cc",
-        "src/core/lib/support/time_precise.cc",
-        "src/core/lib/support/time_windows.cc",
-        "src/core/lib/support/tls_pthread.cc",
-        "src/core/lib/support/tmpfile_msys.cc",
-        "src/core/lib/support/tmpfile_posix.cc",
-        "src/core/lib/support/tmpfile_windows.cc",
-        "src/core/lib/support/wrap_memcpy.cc",
+        "src/core/lib/gpr/alloc.cc",
+        "src/core/lib/gpr/arena.cc",
+        "src/core/lib/gpr/atm.cc",
+        "src/core/lib/gpr/avl.cc",
+        "src/core/lib/gpr/cmdline.cc",
+        "src/core/lib/gpr/cpu_iphone.cc",
+        "src/core/lib/gpr/cpu_linux.cc",
+        "src/core/lib/gpr/cpu_posix.cc",
+        "src/core/lib/gpr/cpu_windows.cc",
+        "src/core/lib/gpr/env_linux.cc",
+        "src/core/lib/gpr/env_posix.cc",
+        "src/core/lib/gpr/env_windows.cc",
+        "src/core/lib/gpr/fork.cc",
+        "src/core/lib/gpr/host_port.cc",
+        "src/core/lib/gpr/log.cc",
+        "src/core/lib/gpr/log_android.cc",
+        "src/core/lib/gpr/log_linux.cc",
+        "src/core/lib/gpr/log_posix.cc",
+        "src/core/lib/gpr/log_windows.cc",
+        "src/core/lib/gpr/mpscq.cc",
+        "src/core/lib/gpr/murmur_hash.cc",
+        "src/core/lib/gpr/string.cc",
+        "src/core/lib/gpr/string_posix.cc",
+        "src/core/lib/gpr/string_util_windows.cc",
+        "src/core/lib/gpr/string_windows.cc",
+        "src/core/lib/gpr/subprocess_posix.cc",
+        "src/core/lib/gpr/subprocess_windows.cc",
+        "src/core/lib/gpr/sync.cc",
+        "src/core/lib/gpr/sync_posix.cc",
+        "src/core/lib/gpr/sync_windows.cc",
+        "src/core/lib/gpr/thd.cc",
+        "src/core/lib/gpr/thd_posix.cc",
+        "src/core/lib/gpr/thd_windows.cc",
+        "src/core/lib/gpr/time.cc",
+        "src/core/lib/gpr/time_posix.cc",
+        "src/core/lib/gpr/time_precise.cc",
+        "src/core/lib/gpr/time_windows.cc",
+        "src/core/lib/gpr/tls_pthread.cc",
+        "src/core/lib/gpr/tmpfile_msys.cc",
+        "src/core/lib/gpr/tmpfile_posix.cc",
+        "src/core/lib/gpr/tmpfile_windows.cc",
+        "src/core/lib/gpr/wrap_memcpy.cc",
     ],
     hdrs = [
         "src/core/lib/profiling/timers.h",
-        "src/core/lib/support/abstract.h",
-        "src/core/lib/support/arena.h",
-        "src/core/lib/support/atomic.h",
-        "src/core/lib/support/atomic_with_atm.h",
-        "src/core/lib/support/atomic_with_std.h",
-        "src/core/lib/support/env.h",
-        "src/core/lib/support/fork.h",
-        "src/core/lib/support/manual_constructor.h",
-        "src/core/lib/support/memory.h",
-        "src/core/lib/support/mpscq.h",
-        "src/core/lib/support/murmur_hash.h",
-        "src/core/lib/support/spinlock.h",
-        "src/core/lib/support/string.h",
-        "src/core/lib/support/string_windows.h",
-        "src/core/lib/support/thd_internal.h",
-        "src/core/lib/support/time_precise.h",
-        "src/core/lib/support/tmpfile.h",
-        "src/core/lib/support/vector.h",
+        "src/core/lib/gpr/arena.h",
+        "src/core/lib/gpr/env.h",
+        "src/core/lib/gpr/fork.h",
+        "src/core/lib/gpr/mpscq.h",
+        "src/core/lib/gpr/murmur_hash.h",
+        "src/core/lib/gpr/spinlock.h",
+        "src/core/lib/gpr/string.h",
+        "src/core/lib/gpr/string_windows.h",
+        "src/core/lib/gpr/thd_internal.h",
+        "src/core/lib/gpr/time_precise.h",
+        "src/core/lib/gpr/tmpfile.h",
     ],
     language = "c++",
     public_hdrs = GPR_PUBLIC_HDRS,
     deps = [
         "gpr_codegen",
-        "@com_google_absl//absl/container:inlined_vector",
     ],
 )
 
@@ -553,15 +545,48 @@
 )
 
 grpc_cc_library(
+    name = "gpr++_base",
+    language = "c++",
+    public_hdrs = [
+        "src/core/lib/gpr++/abstract.h",
+        "src/core/lib/gpr++/manual_constructor.h",
+        "src/core/lib/gpr++/memory.h",
+    ],
+)
+
+grpc_cc_library(
+    name = "atomic",
+    language = "c++",
+    public_hdrs = [
+        "src/core/lib/gpr++/atomic.h",
+    ],
+    hdrs = [
+        "src/core/lib/gpr++/atomic_with_atm.h",
+        "src/core/lib/gpr++/atomic_with_std.h",
+    ],
+    deps = [
+        "gpr",
+    ],
+)
+
+grpc_cc_library(
+    name = "inlined_vector",
+    language = "c++",
+    public_hdrs = [
+        "src/core/lib/gpr++/inlined_vector.h",
+    ],
+)
+
+grpc_cc_library(
     name = "debug_location",
     language = "c++",
-    public_hdrs = ["src/core/lib/support/debug_location.h"],
+    public_hdrs = ["src/core/lib/gpr++/debug_location.h"],
 )
 
 grpc_cc_library(
     name = "orphanable",
     language = "c++",
-    public_hdrs = ["src/core/lib/support/orphanable.h"],
+    public_hdrs = ["src/core/lib/gpr++/orphanable.h"],
     deps = [
         "debug_location",
         "grpc_trace",
@@ -571,7 +596,7 @@
 grpc_cc_library(
     name = "ref_counted",
     language = "c++",
-    public_hdrs = ["src/core/lib/support/ref_counted.h"],
+    public_hdrs = ["src/core/lib/gpr++/ref_counted.h"],
     deps = [
         "debug_location",
         "grpc_trace",
@@ -581,7 +606,7 @@
 grpc_cc_library(
     name = "ref_counted_ptr",
     language = "c++",
-    public_hdrs = ["src/core/lib/support/ref_counted_ptr.h"],
+    public_hdrs = ["src/core/lib/gpr++/ref_counted_ptr.h"],
 )
 
 grpc_cc_library(
@@ -848,6 +873,7 @@
     public_hdrs = GRPC_PUBLIC_HDRS,
     deps = [
         "gpr_base",
+        "gpr++_base",
         "grpc_codegen",
         "grpc_trace",
     ],
@@ -860,6 +886,7 @@
     ],
     language = "c++",
     deps = [
+        "atomic",
         "grpc_base_c",
     ],
 )
@@ -1320,6 +1347,7 @@
     ],
     language = "c++",
     deps = [
+        "gpr++_base",
         "grpc_base",
         "grpc_http_filters",
         "grpc_transport_chttp2_alpn",