Blame astrometry-Dynamically-link-to-libastrometry.so-when-possible.patch

23dea7f
From: Ole Streicher <olebole@debian.org>
23dea7f
Date: Thu, 1 Dec 2016 21:18:56 +0100
23dea7f
Subject: Dynamically link to libastrometry.so, when possible
23dea7f
23dea7f
---
23dea7f
 blind/Makefile | 10 ++++------
23dea7f
 libkd/Makefile |  3 +--
23dea7f
 util/Makefile  |  8 +++-----
23dea7f
 3 files changed, 8 insertions(+), 13 deletions(-)
23dea7f
23dea7f
diff --git a/blind/Makefile b/blind/Makefile
23dea7f
index 1d55c9c..21f68c4 100644
23dea7f
--- a/blind/Makefile
23dea7f
+++ b/blind/Makefile
23dea7f
@@ -43,9 +43,7 @@ LDFLAGS := $(LDFLAGS_DEF)
23dea7f
 LDLIBS := $(LDLIBS_DEF)
23dea7f
 LDLIBS += $(ANFILES_LIB)
23dea7f
 
23dea7f
-SLIB := $(ENGINE_LIB)
23dea7f
-SLIB += $(CATS_SLIB)
23dea7f
-SLIB += $(ANFILES_SLIB)
23dea7f
+SLIB := $(ENGINE_SO)
23dea7f
 
23dea7f
 CAIRO_SLIB := $(COMMON)/cairoutils.o
23dea7f
 CAIRO_SLIB += $(SLIB)
23dea7f
@@ -130,7 +128,7 @@ ENGINE_OBJS += new-wcs.o fits-guess-scale.o cut-table.o \
23dea7f
 	resort-xylist.o
23dea7f
 
23dea7f
 BUILD_INDEX_OBJS := build-index.o uniformize-catalog.o startree.o hpquads.o \
23dea7f
-	quad-builder.o quad-utils.o codefile.o codetree.o unpermute-stars.o \
23dea7f
+	quad-builder.o codefile.o codetree.o unpermute-stars.o \
23dea7f
 	unpermute-quads.o merge-index.o 
23dea7f
 ENGINE_OBJS += $(BUILD_INDEX_OBJS)
23dea7f
 
23dea7f
@@ -146,8 +144,8 @@ $(ENGINE_LIB): $(ENGINE_OBJS)
23dea7f
 	$(AR) rc $@ $(ENGINE_OBJS)
23dea7f
 	$(RANLIB) $@
23dea7f
 
23dea7f
-$(ENGINE_SO): $(ENGINE_OBJS) $(SLIB)
23dea7f
-	$(CC) $(LDFLAGS) $(SHAREDLIBFLAGS) -Wl,-soname,$@.0 -o $@.0 $^ $(LDLIBS)
23dea7f
+$(ENGINE_SO): $(ENGINE_LIB) $(CATS_SLIB) $(ANFILES_SLIB)
23dea7f
+	$(CC) $(LDFLAGS) $(SHAREDLIBFLAGS) -Wl,-soname,$@.0 -o $@.0 -Wl,--whole-archive $^ -Wl,--no-whole-archive $(LDLIBS) -lpthread
23dea7f
 	ln -s  $@.0 $@
23dea7f
 
23dea7f
 # old and miscellaneous executables that aren't part of the pipeline.
23dea7f
diff --git a/libkd/Makefile b/libkd/Makefile
23dea7f
index f535986..0442518 100644
23dea7f
--- a/libkd/Makefile
23dea7f
+++ b/libkd/Makefile
23dea7f
@@ -90,8 +90,7 @@ py: pyspherematch
23dea7f
 PYSPHEREMATCH_OBJ := pyspherematch.o
23dea7f
 
23dea7f
 spherematch_c$(PYTHON_SO_EXT): pyspherematch.c setup.py $(SLIB)
23dea7f
-	LDFLAGS="$(LDFLAGS)" LDLIBS="$(LDLIBS)" \
23dea7f
-	SLIB="$(SLIB)" \
23dea7f
+	LDFLAGS="$(LDFLAGS)" LDLIBS="-L../blind -lastrometry" \
23dea7f
 	INC="$(INC)" \
23dea7f
 	CFLAGS="$(CFLAGS)" \
23dea7f
 	$(PYTHON) setup.py build_ext --inplace --force --build-temp .
23dea7f
diff --git a/util/Makefile b/util/Makefile
23dea7f
index f88df1b..0ecf716 100644
23dea7f
--- a/util/Makefile
23dea7f
+++ b/util/Makefile
23dea7f
@@ -86,8 +86,7 @@ CFLAGS += -I.
23dea7f
 
23dea7f
 LDFLAGS += $(LDFLAGS_DEF)
23dea7f
 
23dea7f
-LDLIBS := $(LDLIBS_DEF)
23dea7f
-LDLIBS += $(ANFILES_LIB)
23dea7f
+LDLIBS := $(LDLIBS_DEF) -lm
23dea7f
 
23dea7f
 SHAREDLIBFLAGS := $(SHAREDLIBFLAGS_DEF)
23dea7f
 
23dea7f
@@ -122,8 +121,7 @@ ANUTILS_H := an-bool.h an-endian.h an-opts.h an-thread-pthreads.h \
23dea7f
 ANUTILS_H_PATH := $(addprefix $(INCLUDE_DIR)/,$(ANUTILS_H))
23dea7f
 
23dea7f
 ifndef NO_QFITS
23dea7f
-ANUTILS_OBJ += fitsioutils.o sip_qfits.o fitstable.o fitsbin.o fitsfile.o \
23dea7f
-	tic.o
23dea7f
+ANUTILS_OBJ += fitsioutils.o sip_qfits.o fitstable.o fitsbin.o fitsfile.o
23dea7f
 ANUTILS_DEPS += $(QFITS_LIB)
23dea7f
 endif
23dea7f
 
23dea7f
@@ -164,7 +162,7 @@ wcs-pv2sip: wcs-pv2sip.o $(ANUTILS_SLIB)
23dea7f
 ALL_OBJ += wcs-pv2sip.o
23dea7f
 
23dea7f
 _util$(PYTHON_SO_EXT): util.i lanczos.i $(ANFILES_SLIB)
23dea7f
-	LDFLAGS="$(LDFLAGS)" LDLIBS="$(LDLIBS)" SLIB="$(ANFILES_SLIB)" \
23dea7f
+	LDFLAGS="$(LDFLAGS)" LDLIBS="-L../blind -lastrometry" \
23dea7f
 	INC="$(ANFILES_INC)" CFLAGS="$(CFLAGS)" \
23dea7f
 	$(PYTHON) setup.py build_ext -v --inplace --build-temp .
23dea7f
 util.py: util.i lanczos.i