//
// libusb Xcode configuration file
// Copyright © 2012 Pete Batard <pete@akeo.ie>
// For more information, please visit: <https://libusb.info>
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

#include "common.xcconfig"

// Embed debug symbols in binary itself.
DEBUG_INFORMATION_FORMAT = dwarf

// No optimizations in debug.
GCC_OPTIMIZATION_LEVEL = 0

// 
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) DEBUG=1

// No need for Universal Binaries in debug.
ONLY_ACTIVE_ARCH = YES
