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
|
--- ./Code/PgSQL/rdkit/Makefile.orig 2019-01-14 15:16:06.892096754 +0100
+++ ./Code/PgSQL/rdkit/Makefile 2019-01-14 15:16:18.788148697 +0100
@@ -11,8 +11,9 @@
# -------------------------
-RDKIT=$(RDBASE)
+RDKIT=$(RDBASE)
+RDKIT_PGSQL_SRCDIR=$(RDBASE)/Code/PgSQL/rdkit
ifeq ($(USE_INCHI),1)
INCHILIBS=-lRDInchiLib -lInchi
@@ -26,18 +27,17 @@
AVALONREGRESS=avalon
endif
-POPCOUNTFLAGS=-DUSE_BUILTIN_POPCOUNT -mpopcnt
-
ifeq ($(USE_THREADS),1)
THREADLIBS=-L${BOOSTHOME}/lib -lboost_thread -lboost_system
endif
-RDKLIBS = ${AVALONLIBS} ${INCHILIBS} -lMolDraw2D -lMolTransforms -lMolHash -lFMCS -lChemReactions -lChemTransforms -lFileParsers -lSmilesParse -lFingerprints -lSubgraphs -lDescriptors -lPartialCharges -lSubstructMatch -lGraphMol -lEigenSolvers -lDataStructs -lDepictor -lRDGeometryLib -lRDGeneral
+RDKLIBS = ${AVALONLIBS} ${INCHILIBS} -lRDKitMolDraw2D -lRDKitMolTransforms -lRDKitMolHash -lRDKitFMCS -lRDKitChemReactions -lRDKitChemTransforms -lRDKitFileParsers -lRDKitSmilesParse -lRDKitFingerprints -lRDKitSubgraphs -lRDKitDescriptors -lRDKitPartialCharges -lRDKitSubstructMatch -lRDKitGraphMol -lRDKitEigenSolvers -lRDKitDataStructs -lRDKitDepictor -lRDKitRDGeometryLib -lRDKitRDGeneral
+RDKIT_LIBDIR ?= ${RDKIT}/lib
ifeq ($(STATIC_LINK),0)
- SHLIB_LINK += -L${RDKIT}/lib -Wl,-rpath,'${RDKIT}/lib' ${RDKLIBS}
+ SHLIB_LINK += -L${RDKIT_LIBDIR} ${RDKLIBS}
else
- SHLIB_LINK += -L${RDKIT}/lib $(addsuffix _static,${RDKLIBS})
+ SHLIB_LINK += -L${RDKIT_LIBDIR} $(addsuffix _static,${RDKLIBS})
endif
ifndef BOOSTHOME
@@ -47,7 +47,7 @@
SHLIB_LINK += ${THREADLIBS}
-PG_CPPFLAGS = -I${BOOSTHOME}/include -I${RDKIT}/Code -DRDKITVER='"007300"' ${AVALONFLAGS} ${INCHIFLAGS} ${POPCOUNTFLAGS}
+PG_CPPFLAGS = -I${BOOSTHOME}/include -I${RDKIT}/Code -DRDKITVER='"007300"' ${AVALONFLAGS} ${INCHIFLAGS}
CPLUSPLUSFLAGS = $(filter-out -fexcess-precision=standard -Wmissing-prototypes -Wdeclaration-after-statement, $(CFLAGS))
CPLUSPLUSFLAGS += -Wno-unused-function
@@ -56,38 +56,49 @@
CPLUSPLUSFLAGS := $(filter-out -fexcess-precision=standard,$(CPLUSPLUSFLAGS))
EXTENSION = rdkit
-EXTVERSION = $(shell grep default_version $(EXTENSION).control | sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")
+EXTVERSION = $(shell grep default_version ${RDKIT_PGSQL_SRCDIR}/$(EXTENSION).control | sed -e "s/default_version[[:space:]]*=[[:space:]]*'\([^']*\)'/\1/")
PG_CONFIG = pg_config
MODULE_big = rdkit
OBJS = rdkit_io.o mol_op.o bfp_op.o sfp_op.o rxn_op.o rdkit_gist.o bfp_gist.o bfp_gin.o low_gist.o guc.o cache.o adapter.o bitstring.o
PGXS := $(shell $(PG_CONFIG) --pgxs)
+PG96 = $(shell $(PG_CONFIG) --version | grep -qE " 9\.[1-5]" && echo no || echo yes)
PG95 = $(shell $(PG_CONFIG) --version | grep -qE " 9\.[1-4]" && echo no || echo yes)
PG92 = $(shell $(PG_CONFIG) --version | grep -qE " 9\.[1-2]" && echo yes || echo no)
all: $(EXTENSION)--$(EXTVERSION).sql
+ifeq ($(PG96),yes)
+$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
+ sed -e's/@RDKIT_PG_BFP_GIST_FETCH@/FUNCTION 9 gbfp_fetch (internal),/;' \
+-e's/@RDKIT_GIN_BFP_TRICONSISTENT@/FUNCTION 6 gin_bfp_triconsistent(internal, int2, bfp, int4, internal, internal, internal),/' \
+-e's/@RDKIT_PARALLEL_SAFE@/PARALLEL SAFE/' \
+ $< > $@
+else
ifeq ($(PG95),yes)
$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
sed -e's/@RDKIT_PG_BFP_GIST_FETCH@/FUNCTION 9 gbfp_fetch (internal),/;' \
-e's/@RDKIT_GIN_BFP_TRICONSISTENT@/FUNCTION 6 gin_bfp_triconsistent(internal, int2, bfp, int4, internal, internal, internal),/' \
+-e's/@RDKIT_PARALLEL_SAFE@//' \
$< > $@
- cp $< $@
else
ifeq ($(PG92),no)
$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
sed -e's/@RDKIT_PG_BFP_GIST_FETCH@//;' \
-e's/@RDKIT_GIN_BFP_TRICONSISTENT@/FUNCTION 6 gin_bfp_triconsistent(internal, int2, bfp, int4, internal, internal, internal),/' \
+-e's/@RDKIT_PARALLEL_SAFE@//' \
$< > $@
else
$(EXTENSION)--$(EXTVERSION).sql: $(EXTENSION).sql.in
sed -e's/@RDKIT_PG_BFP_GIST_FETCH@//;' \
-e's/@RDKIT_GIN_BFP_TRICONSISTENT@//;' \
+-e's/@RDKIT_PARALLEL_SAFE@//' \
$< > $@
endif
endif
+endif
REGRESS = rdkit-91 props btree molgist bfpgist-91 bfpgin sfpgist slfpgist fps reaction ${INCHIREGRESS} ${AVALONREGRESS}
-DATA = $(EXTENSION)--$(EXTVERSION).sql
+DATA_built = $(EXTENSION)--$(EXTVERSION).sql
EXTRA_CLEAN = $(EXTENSION)--$(EXTVERSION).sql
include $(PGXS)
@@ -101,3 +112,9 @@
%.o : %.cpp
$(CXX) $(CPLUSPLUSFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
+
+COMPILE.cxx.bc = $(CLANG) -xc++ -Wno-ignored-attributes $(BITCODE_CXXFLAGS) $(CPPFLAGS) -emit-llvm -c
+
+%.bc : %.cpp
+ $(COMPILE.cxx.bc) -o $@ $<
+ opt-7 -module-summary -f $@ -o $@
|