@@ -41,21 +41,20 @@ backend_targets += llvmjit
4141
4242# Define a few bits and pieces used here and elsewhere to generate bitcode
4343
44- llvm_irgen_args = [
45- ' -c' , ' -o' , ' @OUTPUT@' , ' @INPUT@' ,
44+ llvm_irgen_command = []
45+ if ccache.found()
46+ llvm_irgen_command += ccache
47+ endif
48+
49+ llvm_irgen_command += [
50+ clang,
51+ ' -c' , ' -o' , ' @OUTPUT0@' , ' @INPUT0@' ,
4652 ' -flto=thin' , ' -emit-llvm' ,
47- ' -MD' , ' -MQ' , ' @OUTPUT@' , ' -MF' , ' @DEPFILE@' ,
4853 ' -O2' ,
4954 ' -Wno-ignored-attributes' ,
5055 ' -Wno-empty-body' ,
5156]
52-
53- if ccache.found()
54- llvm_irgen_command = ccache
55- llvm_irgen_args = [clang.path()] + llvm_irgen_args
56- else
57- llvm_irgen_command = clang
58- endif
57+ llvm_irgen_dep_args = [' -MD' , ' -MQ' , ' @OUTPUT0@' , ' -MF' , ' @DEPFILE@' ]
5958
6059
6160# XXX: Need to determine proper version of the function cflags for clang
@@ -74,7 +73,7 @@ bitcode_cflags += '-I@SOURCE_ROOT@/src/include'
7473# Note this is intentionally not installed to bitcodedir, as it's not for
7574# inlining
7675llvmjit_types = custom_target (' llvmjit_types.bc' ,
77- command : [ llvm_irgen_command] + llvm_irgen_args + bitcode_cflags,
76+ command : llvm_irgen_command + llvm_irgen_dep_args + bitcode_cflags,
7877 input : ' llvmjit_types.c' ,
7978 output : ' llvmjit_types.bc' ,
8079 depends : [postgres],
@@ -83,3 +82,11 @@ llvmjit_types = custom_target('llvmjit_types.bc',
83828483)
8584backend_targets += llvmjit_types
85+
86+ # Figure out -I's needed to build all postgres code, including all its
87+ # dependencies
88+ pkg_config = find_program ([' pkg-config' , ' pkgconf' ], required : true )
89+ r = run_command (pkg_config,
90+ [' --cflags-only-I' , meson .build_root() / ' meson-uninstalled/postgresql-extension-uninstalled.pc' ],
91+ check : true )
92+ bitcode_cflags += r.stdout().split()
0 commit comments