[cogl] configure: Force #undef of 'near' and 'far' on Windows
- From: Neil Roberts <nroberts src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl] configure: Force #undef of 'near' and 'far' on Windows
- Date: Tue, 14 Jun 2011 13:49:46 +0000 (UTC)
commit 01e1260aa0a659776961e7ade5eab571374d2a6a
Author: Neil Roberts <neil linux intel com>
Date: Mon Jun 13 13:09:47 2011 +0100
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 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index ed547d0..2524e14 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 0000000..6db96f5
--- /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 <http://www.gnu.org/licenses/>.
+ */
+
+/* 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 <windows.h>
+#undef near
+#undef far
+#endif /* _WIN32 */
diff --git a/configure.ac b/configure.ac
index ad27450..26f7d41 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]