#******************************************************************************
# Copyright (c) 2009 STMicroelectronics.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#   Xavier Raynaud <xavier.raynaud@st.com> - initial API and implementation
#*******************************************************************************
bundleProvider = Eclipse Linux Tools
bundleName = Gcov Plug-in (Incubation)
gcovEditor = Gcov Editor
gcov = gcov
gcovDescription = Gcov view displays the profiling information contained in gcda/gcno files
gcovCategory = gcov