# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

# This file contains descriptions of OFFICE USE_EXPAND flags.

libreoffice - use the app-office/libreoffice{,-bin} implementation for extensions
openoffice - use the app-office/openoffice{,-bin} implementation for extensions
