From 01e1260aa0a659776961e7ade5eab571374d2a6a Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Mon, 13 Jun 2011 13:09:47 +0100 Subject: [PATCH] configure: Force #undef of 'near' and 'far' on Windows This adds an extra header that gets included from config.h where we can add configuration defines. This is used to #undef 'near' and 'far' when building for Windows so that we don't have to avoid using them as variable names in the Cogl code. --- Makefile.am | 4 +++- config-custom.h | 35 +++++++++++++++++++++++++++++++++++ configure.ac | 1 + 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 config-custom.h diff --git a/Makefile.am b/Makefile.am index ed547d055..2524e1499 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,4 +8,6 @@ SUBDIRS += examples doc po ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS} -EXTRA_DIST = README.in +EXTRA_DIST = \ + README.in \ + config-custom.h diff --git a/config-custom.h b/config-custom.h new file mode 100644 index 000000000..6db96f55d --- /dev/null +++ b/config-custom.h @@ -0,0 +1,35 @@ +/* + * Cogl + * + * An object oriented GL/GLES Abstraction/Utility Layer + * + * Copyright (C) 2011 Intel Corporation. + * + * 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 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, see . + */ + +/* The contents of this file get #included by config.h so it is + intended for extra configuration that needs to be included by all + Cogl source files. */ + +/* The windows headers #define 'near' and 'far' to be blank. We + commonly want to use these variable names for doing perspective + transformation so rather than having to workaround this mis-feature + in Windows in the code we just #undef them here. We need to do this + after including windows.h */ +#ifdef _WIN32 +#include +#undef near +#undef far +#endif /* _WIN32 */ diff --git a/configure.ac b/configure.ac index ad27450bd..26f7d4145 100644 --- a/configure.ac +++ b/configure.ac @@ -100,6 +100,7 @@ AM_INIT_AUTOMAKE([1.11 foreign -Wno-portability no-define no-dist-gzip dist-bzip2]) AM_SILENT_RULES([yes]) +AH_BOTTOM([#include "config-custom.h"]) dnl ================================================================ dnl Export the API versioning