forked from microsoft/documentdb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile.cflags
139 lines (107 loc) · 4.98 KB
/
Makefile.cflags
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
LIBBSON := $(shell pkg-config --cflags libbson-static-1.0)
INTEL_DECIMAL_MATH_LIB = $(shell pkg-config --cflags intelmathlib)
PCRE2_LIB = $(shell pkg-config --cflags libpcre2-8)
DOCUMENTDB_CORE_DIR = $(OSS_SRC_DIR)/pg_documentdb_core
DOCUMENTDB_DIR = $(OSS_SRC_DIR)/pg_documentdb
DOCUMENTDB_DISTRIBUTED_DIR= $(OSS_SRC_DIR)/internal/pg_documentdb_distributed
DOCUMENTDB_CORE_INC_DIR = $(DOCUMENTDB_CORE_DIR)/include
DOCUMENTDB_INC_DIR = $(DOCUMENTDB_DIR)/include
DOCUMENTDB_DISTRIBUTED_INC_DIR = $(DOCUMENTDB_DISTRIBUTED_DIR)/include
PG_CPPFLAGS = $(shell pkg-config --cflags libbson-static-1.0) -I$(libpq_srcdir) $(INTEL_DECIMAL_MATH_LIB) $(PCRE2_LIB) -Isrc -Iinclude -Ibuild/include/
PG_LDFLAGS = $(shell pkg-config --static --libs --cflags libbson-static-1.0) $(shell pkg-config --static --libs --cflags intelmathlib) $(shell pkg-config --static --libs --cflags libpcre2-8) -L/usr/lib
PG_LDFLAGS += -Wl,-rpath=$(shell $(PG_CONFIG) --pkglibdir)
ifeq ($(USE_DOCUMENTDB_CORE),1)
DOCUMENTDB_CORE_LIB = $(DOCUMENTDB_CORE_DIR)/pg_documentdb_core.so
PG_CPPFLAGS += -I$(DOCUMENTDB_CORE_INC_DIR)
PG_LDFLAGS += -l:pg_documentdb_core.so -L $(DOCUMENTDB_CORE_DIR)
endif
ifeq ($(USE_DOCUMENTDB),1)
DOCUMENTDB_LIB = $(DOCUMENTDB_DIR)/pg_documentdb.so
PG_CPPFLAGS += -I$(DOCUMENTDB_INC_DIR)
PG_LDFLAGS += -l:pg_documentdb.so -L $(DOCUMENTDB_DIR)
endif
ifeq ($(USE_DOCUMENTDB_DISTRIBUTED),1)
DOCUMENTDB_DISTRIBUTED_LIB = $(DOCUMENTDB_DISTRIBUTED_DIR)/pg_documentdb_distributed.so
PG_CPPFLAGS += -I$(DOCUMENTDB_DISTRIBUTED_INC_DIR)
PG_LDFLAGS += -l:pg_documentdb_distributed.so -L $(DOCUMENTDB_DISTRIBUTED_DIR)
endif
ifeq ($(CC),gcc)
PG_CFLAGS = -std=gnu99 -Wall -Wextra -Werror -Wno-declaration-after-statement -Wno-unused-parameter -Wno-implicit-fallthrough $(LIBBSON) $(INTEL_DECIMAL_MATH_LIB) $(PCRE2_LIB)
else
PG_CFLAGS = -std=gnu99 -Wall -Wextra -Werror -Wno-declaration-after-statement -Wno-unused-parameter -Wno-implicit-fallthrough $(LIBBSON) $(INTEL_DECIMAL_MATH_LIB) $(PCRE2_LIB)
endif
ifneq ($(SKIP_API_SCHEMA),yes)
ifndef API_SCHEMA_NAME
$(error API_SCHEMA_NAME is not set)
endif
ifndef API_SCHEMA_NAME_V2
$(error API_SCHEMA_NAME_V2 is not set)
endif
ifndef API_SCHEMA_INTERNAL_NAME
$(error API_SCHEMA_INTERNAL_NAME is not set)
endif
ifndef API_SCHEMA_INTERNAL_NAME_V2
$(error API_SCHEMA_INTERNAL_NAME_V2 is not set)
endif
ifndef API_CATALOG_SCHEMA_NAME
$(error API_CATALOG_SCHEMA_NAME is not set)
endif
ifndef API_CATALOG_SCHEMA_NAME_V2
$(error API_CATALOG_SCHEMA_NAME_V2 is not set)
endif
ifndef API_DATA_SCHEMA_NAME
$(error API_DATA_SCHEMA_NAME is not set)
endif
ifndef API_ADMIN_ROLE
$(error API_ADMIN_ROLE is not set)
endif
ifndef API_ADMIN_ROLE_V2
API_ADMIN_ROLE_V2=$(API_ADMIN_ROLE)
endif
ifndef API_READONLY_ROLE
$(error API_READONLY_ROLE is not set)
endif
ifndef POSTGIS_SCHEMA_NAME
$(error POSTGIS_SCHEMA_NAME is not set)
endif
ifndef API_GUC_PREFIX
$(error API_GUC_PREFIX is not set)
endif
EXTENSION_SQL_ONLY_DEFINES = -D__API_CATALOG_SCHEMA__=$(API_CATALOG_SCHEMA_NAME) \
-D__API_CATALOG_SCHEMA_V2__=$(API_CATALOG_SCHEMA_NAME_V2) \
-D__API_SCHEMA__=$(API_SCHEMA_NAME) \
-D__API_SCHEMA_V2__=$(API_SCHEMA_NAME_V2) \
-D__API_SCHEMA_INTERNAL__=$(API_SCHEMA_INTERNAL_NAME) \
-D__API_SCHEMA_INTERNAL_V2__=$(API_SCHEMA_INTERNAL_NAME_V2) \
-D__API_DATA_SCHEMA__=$(API_DATA_SCHEMA_NAME) \
-D__API_ADMIN_ROLE__=$(API_ADMIN_ROLE) \
-D__API_ADMIN_ROLE_V2__=$(API_ADMIN_ROLE_V2) \
-D__API_READONLY_ROLE__=$(API_READONLY_ROLE) \
-D__POSTGIS_SCHEMA_NAME__=$(POSTGIS_SCHEMA_NAME) \
-D__API_GUC_PREFIX__=$(API_GUC_PREFIX)
endif
ifdef API_DISTRIBUTED_SCHEMA_NAME
EXTENSION_SQL_ONLY_DEFINES += -D__API_DISTRIBUTED_SCHEMA__=$(API_DISTRIBUTED_SCHEMA_NAME)
endif
ifndef CORE_SCHEMA_NAME
$(error CORE_SCHEMA_NAME is not set)
endif
ifndef EXTENSION_OBJECT_PREFIX
$(error EXTENSION_OBJECT_PREFIX is not set)
endif
ifndef EXTENSION_OBJECT_PREFIX_V2
EXTENSION_OBJECT_PREFIX_V2=$(EXTENSION_OBJECT_PREFIX)
endif
# Use CORE_SCHEMA_NAME_V2 in the SQL file if the internal extension code that shipped
# uses the initial public OSS schema for the type.
ifndef CORE_SCHEMA_NAME_V2
CORE_SCHEMA_NAME_V2=$(CORE_SCHEMA_NAME)
endif
EXTENSION_SQL_ONLY_DEFINES += -D__EXTENSION_OBJECT_PREFIX__=$(EXTENSION_OBJECT_PREFIX)
EXTENSION_SQL_ONLY_DEFINES += -D__EXTENSION_OBJECT_PREFIX_V2__=$(EXTENSION_OBJECT_PREFIX_V2)
EXTENSION_SQL_ONLY_DEFINES += -D__CORE_SCHEMA__=$(CORE_SCHEMA_NAME)
EXTENSION_SQL_ONLY_DEFINES += -D__CORE_SCHEMA_V2__=$(CORE_SCHEMA_NAME_V2)
SQL_DEFINES = $(EXTENSION_SQL_ONLY_DEFINES)
ifneq ($(EXTRA_INCLUDE),)
include $(EXTRA_INCLUDE)
endif