Index: tools/autotool.py
===================================================================
--- tools/autotool.py	(revision acf6b55769a37eb650905504688103655ff52925)
+++ tools/autotool.py	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
@@ -323,7 +323,9 @@
 
 	common['GCC'] = "%sgcc" % prefix
+	common['GPP'] = "%sg++" % prefix
 
 	if (not path is None):
 		common['GCC'] = "%s/%s" % (path, common['GCC'])
+		common['GPP'] = "%s/%s" % (path, common['GPP'])
 
 	check_app([common['GCC'], "--version"], "GNU GCC", details)
@@ -613,4 +615,7 @@
 			common['CC'] = " ".join([common['GCC']] + cc_args)
 			common['CC_AUTOGEN'] = common['CC']
+
+			check_common(common, "GPP")
+			common['CPP'] = common['GPP']
 
 		if (config['COMPILER'] == "gcc_native"):
Index: uspace/Makefile
===================================================================
--- uspace/Makefile	(revision acf6b55769a37eb650905504688103655ff52925)
+++ uspace/Makefile	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
@@ -220,4 +220,5 @@
 
 LIBS = \
+	lib/cpp \
 	lib/fs \
 	lib/block \
Index: uspace/Makefile.common
===================================================================
--- uspace/Makefile.common	(revision acf6b55769a37eb650905504688103655ff52925)
+++ uspace/Makefile.common	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
@@ -103,4 +103,8 @@
 	-I$(LIBC_PREFIX)/arch/$(UARCH)/include \
 	-I$(ROOT_PATH)/abi/include
+
+LIBCPP_PREFIX = $(LIB_PREFIX)/cpp
+LIBCPP_INCLUDES_FLAGS = -I$(LIBCPP_PREFIX)/include
+
 LIBSOFTFLOAT_PREFIX = $(LIB_PREFIX)/softfloat
 LIBSOFTINT_PREFIX = $(LIB_PREFIX)/softint
@@ -232,4 +236,12 @@
 CFLAGS = $(COMMON_CPPFLAGS) $(COMMON_CFLAGS) $(HELENOS_CFLAGS) $(DEFAULT_CFLAGS)
 
+# Flags for the compilation of C++ code.
+CPPFLAGS = $(LIBCPP_INCLUDES_FLAGS) $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
+	-fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \
+	-finput-charset=UTF-8 -ffreestanding -fno-builtin -ffunction-sections \
+	-nostdlib -nostdinc -Wall -Wextra -Wno-clobbered -Wno-unused-parameter \
+	-std=c++11 -Werror-implicit-function-declaration \
+	-Wwrite-strings -pipe -ggdb -D__$(ENDIANESS)__
+
 ## Setup platform configuration
 #
@@ -343,4 +355,7 @@
 	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS)
 
+%.o: %.cpp | depend
+	$(CPP) $(CPPFLAGS) $(EXTRA_CPPFLAGS) -c $< -o $@
+
 %.test.o: %.c | depend
 	$(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(TEST_CFLAGS)
Index: uspace/lib/cpp/Makefile
===================================================================
--- uspace/lib/cpp/Makefile	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
+++ uspace/lib/cpp/Makefile	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2017 Jaroslav Jindrak
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+USPACE_PREFIX = ../..
+ROOT_PATH = $(USPACE_PREFIX)/..
+
+CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config
+
+LIBRARY = libcpp
+SLIBRARY = libcpp.so.0.0
+LSONAME = libcpp.so.0
+
+-include $(CONFIG_MAKEFILE)
+
+#SOURCES = \
+
+#TEST_SOURCES = \
+
+include $(USPACE_PREFIX)/Makefile.common
Index: uspace/lib/cpp/include/cstdio
===================================================================
--- uspace/lib/cpp/include/cstdio	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
+++ uspace/lib/cpp/include/cstdio	(revision 058c24037dbc8e5cacc5c491c765315ad0980b06)
@@ -0,0 +1,15 @@
+#ifndef LIBCPP_CSTDIO
+#define LIBCPP_CSTDIO
+
+#define _Bool bool
+
+namespace std
+{
+
+extern "C" {
+#include <stdio.h>
+}
+
+}
+
+#endif
