aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2010-08-08 09:18:29 +0000
committerEric Christopher <echristo@apple.com>2010-08-08 09:18:29 +0000
commitd442d2846a00c0ac2f031deba06b7e0d003f14ad (patch)
treefacf6bedd7e43111c2548fb25bb0a421c97e2f3f
parentb1e4eebec03f71f3c891ba384b5992f3d65e3591 (diff)
Add a bit of a hack to avoid multiple defines of variables in
config.h and llvm-config.h. This could probably be improved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110547 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--autoconf/configure.ac4
-rw-r--r--include/llvm/Config/config.h.in5
-rw-r--r--include/llvm/Config/llvm-config.h.in7
3 files changed, 16 insertions, 0 deletions
diff --git a/autoconf/configure.ac b/autoconf/configure.ac
index 5def41f842..29a57b8385 100644
--- a/autoconf/configure.ac
+++ b/autoconf/configure.ac
@@ -1581,6 +1581,10 @@ dnl you MUST also update Makefile.rules so that the variable FilesToConfig
dnl contains the same list of files as AC_CONFIG_HEADERS below. This ensures the
dnl files can be updated automatically when their *.in sources change.
AC_CONFIG_HEADERS([include/llvm/Config/config.h include/llvm/Config/llvm-config.h])
+AH_TOP([#ifndef CONFIG_H
+#define CONFIG_H])
+AH_BOTTOM([#endif])
+
AC_CONFIG_FILES([include/llvm/Config/Targets.def])
AC_CONFIG_FILES([include/llvm/Config/AsmPrinters.def])
AC_CONFIG_FILES([include/llvm/Config/AsmParsers.def])
diff --git a/include/llvm/Config/config.h.in b/include/llvm/Config/config.h.in
index 9a10f7f06c..5fe3da2570 100644
--- a/include/llvm/Config/config.h.in
+++ b/include/llvm/Config/config.h.in
@@ -1,5 +1,8 @@
/* include/llvm/Config/config.h.in. Generated from autoconf/configure.ac by autoheader. */
+#ifndef CONFIG_H
+#define CONFIG_H
+
/* 32 bit multilib directory. */
#undef CXX_INCLUDE_32BIT_DIR
@@ -607,3 +610,5 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
+
+#endif
diff --git a/include/llvm/Config/llvm-config.h.in b/include/llvm/Config/llvm-config.h.in
index 1557e272b8..f35859ea04 100644
--- a/include/llvm/Config/llvm-config.h.in
+++ b/include/llvm/Config/llvm-config.h.in
@@ -11,6 +11,11 @@
they can be in exported headers and won't override package specific
directives. This is a C file so we can include it in the llvm-c headers. */
+/* To avoid multiple inclusions of these variables when we include the exported
+ headers and config.h, conditionally include these. */
+/* TODO: This is a bit of a hack. */
+#ifndef CONFIG_H
+
/* Installation directory for binary executables */
#undef LLVM_BINDIR
@@ -82,3 +87,5 @@
/* Installation prefix directory */
#undef LLVM_PREFIX
+
+#endif