aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-03-20 17:26:25 -0700
committerAndres Freund <andres@anarazel.de>2018-03-20 17:26:25 -0700
commit5b2526c83832e4e8a9f8db0389904ed2fb50ed37 (patch)
tree0e6f1e24b35e3dbc15a70e52cf0558f7bfc553b3 /src
parent6869b4f2584787d9e4cefaab8a4bae1ecbe63766 (diff)
downloadpostgresql-5b2526c83832e4e8a9f8db0389904ed2fb50ed37.tar.gz
postgresql-5b2526c83832e4e8a9f8db0389904ed2fb50ed37.zip
Add configure infrastructure (--with-llvm) to enable LLVM support.
LLVM will be used for *optional* Just-in-time compilation support. This commit just adds the configure infrastructure that detects LLVM. No documentation has been added for the --with-llvm flag, that'll be added after the actual supporting code has been added. Author: Andres Freund Discussion: https://postgr.es/m/20170901064131.tazjxwus3k2w3ybh@alap3.anarazel.de
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.global.in11
-rw-r--r--src/include/pg_config.h.in19
-rw-r--r--src/include/pg_config.h.win3219
3 files changed, 49 insertions, 0 deletions
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index 1ac18e45936..3bbdf17b744 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -191,6 +191,7 @@ with_krb_srvnam = @with_krb_srvnam@
with_ldap = @with_ldap@
with_libxml = @with_libxml@
with_libxslt = @with_libxslt@
+with_llvm = @with_llvm@
with_system_tzdata = @with_system_tzdata@
with_uuid = @with_uuid@
with_zlib = @with_zlib@
@@ -225,6 +226,11 @@ TCL_SHLIB_LD_LIBS = @TCL_SHLIB_LD_LIBS@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
+LLVM_CONFIG = @LLVM_CONFIG@
+LLVM_BINPATH = @LLVM_BINPATH@
+CLANG = @CLANG@
+BITCODE_CFLAGS = @BITCODE_CFLAGS@
+BITCODE_CXXFLAGS = @BITCODE_CXXFLAGS@
##########################################################################
#
@@ -255,6 +261,10 @@ CFLAGS_VECTOR = @CFLAGS_VECTOR@
CFLAGS_SSE42 = @CFLAGS_SSE42@
CXXFLAGS = @CXXFLAGS@
+LLVM_CPPFLAGS = @LLVM_CPPFLAGS@
+LLVM_CFLAGS = @LLVM_CFLAGS@
+LLVM_CXXFLAGS = @LLVM_CXXFLAGS@
+
# Kind-of compilers
BISON = @BISON@
@@ -275,6 +285,7 @@ LDAP_LIBS_FE = @LDAP_LIBS_FE@
LDAP_LIBS_BE = @LDAP_LIBS_BE@
UUID_LIBS = @UUID_LIBS@
UUID_EXTRA_OBJS = @UUID_EXTRA_OBJS@
+LLVM_LIBS=@LLVM_LIBS@
LD = @LD@
with_gnu_ld = @with_gnu_ld@
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index ea3b2b6ce77..c5db5430b9d 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -134,6 +134,22 @@
don't. */
#undef HAVE_DECL_F_FULLFSYNC
+/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0
+ if you don't. */
+#undef HAVE_DECL_LLVMGETHOSTCPUNAME
+
+/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and
+ to 0 if you don't. */
+#undef HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN
+
+/* Define to 1 if you have the declaration of `LLVMOrcRegisterGDB', and to 0
+ if you don't. */
+#undef HAVE_DECL_LLVMORCREGISTERGDB
+
+/* Define to 1 if you have the declaration of `LLVMOrcRegisterPerf', and to 0
+ if you don't. */
+#undef HAVE_DECL_LLVMORCREGISTERPERF
+
/* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you
don't. */
#undef HAVE_DECL_POSIX_FADVISE
@@ -850,6 +866,9 @@
(--with-libxslt) */
#undef USE_LIBXSLT
+/* Define to 1 to build with LLVM based JIT support. (--with-llvm) */
+#undef USE_LLVM
+
/* Define to select named POSIX semaphores. */
#undef USE_NAMED_POSIX_SEMAPHORES
diff --git a/src/include/pg_config.h.win32 b/src/include/pg_config.h.win32
index 7150f7614f2..e934cf87bd2 100644
--- a/src/include/pg_config.h.win32
+++ b/src/include/pg_config.h.win32
@@ -98,6 +98,22 @@
don't. */
#define HAVE_DECL_F_FULLFSYNC 0
+/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0
+ if you don't. */
+#define HAVE_DECL_LLVMGETHOSTCPUNAME 0
+
+/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and
+ to 0 if you don't. */
+#define HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN 0
+
+/* Define to 1 if you have the declaration of `LLVMOrcRegisterGDB', and to 0
+ if you don't. */
+#define HAVE_DECL_LLVMORCREGISTERGDB 0
+
+/* Define to 1 if you have the declaration of `LLVMOrcRegisterPerf', and to 0
+ if you don't. */
+#define HAVE_DECL_LLVMORCREGISTERPERF 0
+
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
don't. */
#define HAVE_DECL_SNPRINTF 1
@@ -631,6 +647,9 @@
/* Define to 1 to build with LDAP support. (--with-ldap) */
/* #undef USE_LDAP */
+/* Define to 1 to build with LLVM based JIT support. (--with-llvm) */
+/* #undef USE_LLVM */
+
/* Define to select named POSIX semaphores. */
/* #undef USE_NAMED_POSIX_SEMAPHORES */