MPD  0.18.14
src/check.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2003-2011 The Music Player Daemon Project
00003  * http://www.musicpd.org
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License along
00016  * with this program; if not, write to the Free Software Foundation, Inc.,
00017  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
00018  */
00019 
00020 #ifndef MPD_CHECK_H
00021 #define MPD_CHECK_H
00022 
00023 /*
00024  * All sources must include config.h on the first line to ensure that
00025  * Large File Support is configured properly.  This header checks
00026  * whether this has happened.
00027  *
00028  * Usage: include this header before you use any of the above types.
00029  * It will stop the compiler if something went wrong.
00030  *
00031  * This is Linux/glibc specific, and only enabled in the debug build,
00032  * so bugs in this headers don't affect users with production builds.
00033  *
00034  */
00035 
00036 #ifndef PACKAGE_VERSION
00037 #error config.h missing
00038 #endif
00039 
00040 #if defined(__linux__) && !defined(NDEBUG) && defined(ENABLE_LARGEFILE) && \
00041         defined(_FEATURES_H) && defined(__i386__) && \
00042         !defined(__USE_FILE_OFFSET64)
00043 /* on i386, check if LFS is enabled */
00044 #error config.h was included too late
00045 #endif
00046 
00047 #endif