Subject: ensure that all libraries link against all direct dependencies

 * src/**/Makefile.*.lib: set DLL_(D)LIB correctly.  Break the dependency
   loop between libxblast and libxalgoblastdbindex by having the former
   provide only the C++ BLAST API, leaving the C core only in libblast.
 * src/algo/blast/dbindex*/*/Makefile.*.app: Link against libxconnect
   rather than libconnect for consistency with libblast, which uses the
   former to keep the aforementioned cycle-breaking from causing
   inconsistency elsewhere.

Debian-Bug: 633567.
Author: Aaron M. Ucko <ucko@debian.org>
Last-Update: 2011-08-28
Index: b/c++/src/algo/blast/core/Makefile.blast.lib
===================================================================
--- a/c++/src/algo/blast/core/Makefile.blast.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/core/Makefile.blast.lib	2011-08-29 12:15:27.000000000 -0400
@@ -21,5 +21,6 @@
 CFLAGS  = $(FAST_CFLAGS)
 LDFLAGS = $(FAST_LDFLAGS)
 
+DLL_LIB = composition_adjustment xconnect tables
 
 WATCHERS = blastsoft
Index: b/c++/src/algo/blast/dbindex/Makefile.xalgoblastdbindex.lib
===================================================================
--- a/c++/src/algo/blast/dbindex/Makefile.xalgoblastdbindex.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/dbindex/Makefile.xalgoblastdbindex.lib	2011-08-29 12:15:27.000000000 -0400
@@ -11,6 +11,8 @@
 CXXFLAGS = -DDO_INLINE $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
+DLL_LIB = blast seqdb xobjread xobjutil xobjmgr seqset seq xser xutil xncbi
+
 ASN_DEP = seqset
 
 WATCHERS = morgulis
Index: b/c++/src/algo/blast/dbindex_search/Makefile.xalgoblastdbindex_search.lib
===================================================================
--- a/c++/src/algo/blast/dbindex_search/Makefile.xalgoblastdbindex_search.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/dbindex_search/Makefile.xalgoblastdbindex_search.lib	2011-08-29 12:15:27.000000000 -0400
@@ -7,6 +7,8 @@
 CXXFLAGS = -DDO_INLINE $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
+DLL_LIB = xobjmgr xncbi
+
 ASN_DEP = seqset
 
 WATCHERS = morgulis
Index: b/c++/src/algo/blast/format/Makefile.xblastformat.lib
===================================================================
--- a/c++/src/algo/blast/format/Makefile.xblastformat.lib	2010-04-26 09:36:34.000000000 -0400
+++ b/c++/src/algo/blast/format/Makefile.xblastformat.lib	2011-08-29 12:15:27.000000000 -0400
@@ -7,6 +7,7 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS)
 
-DLL_LIB = blastxml xhtml xcgi
+DLL_LIB = xblast align_format xalnmgr xobjmgr xnetblast scoremat blastxml \
+          seq general xser tables xncbi
 
 WATCHERS = blastsoft
Index: b/c++/src/algo/blast/gumbel_params/Makefile.gumbelparams.lib
===================================================================
--- a/c++/src/algo/blast/gumbel_params/Makefile.gumbelparams.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/gumbel_params/Makefile.gumbelparams.lib	2011-08-29 12:15:27.000000000 -0400
@@ -5,6 +5,8 @@
       njn_localmaxstat njn_localmaxstatutil njn_ioutil njn_matrix \
       njn_stringutil njn_dynprogprob njn_dynprogproblim njn_dynprogprobproto
 
+DLL_LIB = tables xutil xncbi
+
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
Index: b/c++/src/algo/winmask/Makefile.xalgowinmask.lib
===================================================================
--- a/c++/src/algo/winmask/Makefile.xalgowinmask.lib	2011-02-10 12:14:32.000000000 -0500
+++ b/c++/src/algo/winmask/Makefile.xalgowinmask.lib	2011-08-29 12:15:27.000000000 -0400
@@ -21,3 +21,4 @@
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
+DLL_LIB = seqmasks_io xobjread xobjutil xobjmgr seq xncbi
Index: b/c++/src/cgi/Makefile.cgi.lib
===================================================================
--- a/c++/src/cgi/Makefile.cgi.lib	2010-02-26 12:16:17.000000000 -0500
+++ b/c++/src/cgi/Makefile.cgi.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,6 +8,8 @@
       cgi_serial cgi_session cgi_exception cgiapp_cached cgi_entry_reader
 LIB = xcgi
 
+DLL_LIB = xutil xncbi
+
 CPPFLAGS = $(ORIG_CPPFLAGS) $(FASTCGI_INCLUDE)
 
 WATCHERS = vakatov
Index: b/c++/src/html/Makefile.html.lib
===================================================================
--- a/c++/src/html/Makefile.html.lib	2010-02-26 12:16:17.000000000 -0500
+++ b/c++/src/html/Makefile.html.lib	2011-08-29 12:15:27.000000000 -0400
@@ -7,4 +7,6 @@
       jsmenu commentdiag indentstream html_exception writer_htmlenc
 LIB = xhtml
 
+DLL_LIB = xncbi
+
 WATCHERS = ivanov
Index: b/c++/src/objects/blast/Makefile.xnetblastcli.lib
===================================================================
--- a/c++/src/objects/blast/Makefile.xnetblastcli.lib	2004-02-25 12:11:43.000000000 -0500
+++ b/c++/src/objects/blast/Makefile.xnetblastcli.lib	2011-08-29 12:15:27.000000000 -0400
@@ -2,3 +2,5 @@
 
 LIB = xnetblastcli
 SRC = blastclient blastclient_
+
+DLL_LIB = xnetblast xser xconnect xutil xncbi
Index: b/c++/src/objtools/align_format/Makefile.align_format.lib
===================================================================
--- a/c++/src/objtools/align_format/Makefile.align_format.lib	2010-08-03 09:56:32.000000000 -0400
+++ b/c++/src/objtools/align_format/Makefile.align_format.lib	2011-08-29 12:15:27.000000000 -0400
@@ -10,6 +10,10 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS)
 
+DLL_LIB = xalnmgr ncbi_xloader_genbank seqdb blast_services xobjread xobjutil \
+          xobjmgr xnetblast blastdb gene_info seqset seq general xser \
+          xcgi xhtml tables xncbi
+
 ###  EXAMPLES OF OTHER SETTINGS THAT MIGHT BE OF INTEREST
 # CPPFLAGS = $(ORIG_CPPFLAGS) $(NCBI_C_INCLUDE)
 # CFLAGS   = $(FAST_CFLAGS)
Index: b/c++/src/objtools/alnmgr/Makefile.alnmgr.lib
===================================================================
--- a/c++/src/objtools/alnmgr/Makefile.alnmgr.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/alnmgr/Makefile.alnmgr.lib	2011-08-29 12:15:27.000000000 -0400
@@ -10,6 +10,6 @@
       alnsegments alnseq alnvec alnvec_iterator alnvecprint		\
       pairwise_aln sparse_aln sparse_ci
 
-
+DLL_LIB = xobjmgr seqset seq xser tables xncbi
 
 WATCHERS = todorov
Index: b/c++/src/objtools/readers/Makefile.xobjread.lib
===================================================================
--- a/c++/src/objtools/readers/Makefile.xobjread.lib	2011-02-02 10:48:12.000000000 -0500
+++ b/c++/src/objtools/readers/Makefile.xobjread.lib	2011-08-29 12:15:27.000000000 -0400
@@ -12,5 +12,5 @@
       wiggle_data wiggle_reader gff3_sofa gff3_reader gtf_reader \
       gff2_data gff2_reader source_mod_parser
 
-DLL_LIB = creaders
+DLL_LIB = seqset seq pub general xser creaders sequtil xutil xncbi
 
Index: b/c++/src/objtools/seqmasks_io/Makefile.seqmasks_io.lib
===================================================================
--- a/c++/src/objtools/seqmasks_io/Makefile.seqmasks_io.lib	2010-08-06 12:57:00.000000000 -0400
+++ b/c++/src/objtools/seqmasks_io/Makefile.seqmasks_io.lib	2011-08-29 12:15:27.000000000 -0400
@@ -11,6 +11,6 @@
 mask_writer_blastdb_maskinfo
 
 ASN_DEP = seqset
-DLL_LIB = seqdb blastdb
+DLL_LIB = seqdb xobjread xobjutil xobjmgr blastdb seqset seq xser xncbi
 
 WATCHERS = morgulis camacho
Index: b/c++/src/objtools/simple/Makefile.xobjsimple.lib
===================================================================
--- a/c++/src/objtools/simple/Makefile.xobjsimple.lib	2010-10-15 14:36:58.000000000 -0400
+++ b/c++/src/objtools/simple/Makefile.xobjsimple.lib	2011-08-29 12:15:27.000000000 -0400
@@ -7,6 +7,8 @@
 
 ASN_DEP = seqset
 
+DLL_LIB = ncbi_xloader_genbank xobjmgr seq xncbi
+
 LIB = xobjsimple
 SRC = simple_om
 
Index: b/c++/src/objtools/blast/seqdb_reader/Makefile.seqdb.lib
===================================================================
--- a/c++/src/objtools/blast/seqdb_reader/Makefile.seqdb.lib	2010-08-17 11:38:17.000000000 -0400
+++ b/c++/src/objtools/blast/seqdb_reader/Makefile.seqdb.lib	2011-08-29 12:15:27.000000000 -0400
@@ -25,6 +25,8 @@
 
 LIB = seqdb
 
+DLL_LIB = blastdb xobjmgr seq general xser sequtil xncbi
+
 CFLAGS   = $(FAST_CFLAGS)
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
Index: b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb.lib
===================================================================
--- a/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb.lib	2010-06-16 12:03:59.000000000 -0400
+++ b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb.lib	2011-08-29 12:15:27.000000000 -0400
@@ -5,4 +5,6 @@
 
 ASN_DEP = blastdb seqset
 
+DLL_LIB = seqdb xobjmgr seqset seq xncbi
+
 WATCHERS = camacho
Index: b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb_rmt.lib
===================================================================
--- a/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb_rmt.lib	2010-06-16 12:03:59.000000000 -0400
+++ b/c++/src/objtools/data_loaders/blastdb/Makefile.ncbi_xloader_blastdb_rmt.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,6 +3,8 @@
 LIB = ncbi_xloader_blastdb_rmt
 SRC = bdbloader_rmt remote_blastdb_adapter
 
+DLL_LIB = ncbi_xloader_blastdb blast_services xobjmgr seq xncbi
+
 ASN_DEP = blastdb xnetblast
 
 WATCHERS = camacho
Index: b/c++/src/objtools/blast/gene_info_reader/Makefile.gene_info.lib
===================================================================
--- a/c++/src/objtools/blast/gene_info_reader/Makefile.gene_info.lib	2010-10-15 14:36:58.000000000 -0400
+++ b/c++/src/objtools/blast/gene_info_reader/Makefile.gene_info.lib	2011-08-29 12:15:27.000000000 -0400
@@ -4,3 +4,5 @@
 
 LIB = gene_info
 SRC = gene_info gene_info_reader file_utils
+
+DLL_LIB = xncbi
Index: b/c++/src/algo/blast/api/Makefile.xblast.lib
===================================================================
--- a/c++/src/algo/blast/api/Makefile.xblast.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/api/Makefile.xblast.lib	2011-08-29 12:15:27.000000000 -0400
@@ -69,11 +69,14 @@
 winmask_filter \
 subj_ranges_set
 
-SRC  = $(SRC_C:%=.core_%) $(SRC_CXX)
+SRC  = $(SRC_CXX) # $(SRC_C:%=.core_%)
 
 LIB = xblast
 
-DLL_LIB = xalgodustmask xobjutil $(OBJMGR_LIBS)
+DLL_LIB = xalgoblastdbindex blast composition_adjustment xalgowinmask \
+          xalgodustmask seqdb xobjread xobjutil xobjmgr \
+          xnetblastcli xnetblast scoremat seqset seq general \
+          xser xconnect sequtil tables xutil xncbi
 
 CFLAGS   = $(FAST_CFLAGS)
 # Strict gcc flags
Index: b/c++/src/algo/blast/blastinput/Makefile.blastinput.lib
===================================================================
--- a/c++/src/algo/blast/blastinput/Makefile.blastinput.lib	2010-03-18 14:56:34.000000000 -0400
+++ b/c++/src/algo/blast/blastinput/Makefile.blastinput.lib	2011-08-29 12:15:27.000000000 -0400
@@ -20,7 +20,9 @@
 
 LIB = blastinput
 
-DLL_LIB = xblast $(OBJMGR_LIBS)
+DLL_LIB = xblast align_format ncbi_xloader_blastdb_rmt ncbi_xloader_blastdb \
+          ncbi_xloader_genbank ncbi_xreader_id2 ncbi_xreader seqdb xobjread \
+          xobjmgr scoremat seqset seq xser xutil xncbi
 
 # should be redundant, given the above :-/
 ASN_DEP = seqset xnetblast
Index: b/c++/src/algo/dustmask/Makefile.xalgodustmask.lib
===================================================================
--- a/c++/src/algo/dustmask/Makefile.xalgodustmask.lib	2010-10-15 14:36:18.000000000 -0400
+++ b/c++/src/algo/dustmask/Makefile.xalgodustmask.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,6 +8,8 @@
 
 SRC = symdust
 
+DLL_LIB = xobjmgr seq xncbi
+
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
Index: b/c++/src/connect/Makefile.xconnect.lib
===================================================================
--- a/c++/src/connect/Makefile.xconnect.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/connect/Makefile.xconnect.lib	2011-08-29 12:15:27.000000000 -0400
@@ -14,6 +14,8 @@
 LIB  = xconnect
 PROJ_TAG = core
 
+DLL_LIB = xncbi
+
 LIBS = $(NETWORK_LIBS) $(ORIG_LIBS)
 
 WATCHERS = lavr
Index: b/c++/src/connect/ext/Makefile.xconnext.lib
===================================================================
--- a/c++/src/connect/ext/Makefile.xconnext.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/connect/ext/Makefile.xconnext.lib	2011-08-29 12:15:27.000000000 -0400
@@ -6,4 +6,6 @@
 
 LIB      = xconnext
 
+DLL_LIB = xconnect xncbi
+
 WATCHERS = lavr
Index: b/c++/src/objects/blast/Makefile.blast.lib
===================================================================
--- a/c++/src/objects/blast/Makefile.blast.lib	2010-05-12 15:03:57.000000000 -0400
+++ b/c++/src/objects/blast/Makefile.blast.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,4 +1,6 @@
 LIB = xnetblast
 SRC = blast__ blast___ names
 
+DLL_LIB = scoremat seqset seq xser xncbi
+
 WATCHERS = camacho
Index: b/c++/src/objects/blastxml/Makefile.blastxml.lib
===================================================================
--- a/c++/src/objects/blastxml/Makefile.blastxml.lib	2005-06-13 12:21:41.000000000 -0400
+++ b/c++/src/objects/blastxml/Makefile.blastxml.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = blastxml
 SRC = blastxml__ blastxml___
+
+DLL_LIB = xser xncbi
Index: b/c++/src/objects/entrez2/Makefile.entrez2.lib
===================================================================
--- a/c++/src/objects/entrez2/Makefile.entrez2.lib	2010-10-15 14:36:49.000000000 -0400
+++ b/c++/src/objects/entrez2/Makefile.entrez2.lib	2011-08-29 12:15:27.000000000 -0400
@@ -2,3 +2,5 @@
 
 LIB = entrez2
 SRC = entrez2__ entrez2___
+
+DLL_LIB = xser xncbi
Index: b/c++/src/objects/entrez2/Makefile.entrez2cli.lib
===================================================================
--- a/c++/src/objects/entrez2/Makefile.entrez2cli.lib	2010-10-15 14:36:49.000000000 -0400
+++ b/c++/src/objects/entrez2/Makefile.entrez2cli.lib	2011-08-29 12:15:27.000000000 -0400
@@ -4,3 +4,5 @@
 
 LIB = entrez2cli
 SRC = entrez2_client entrez2_client_
+
+DLL_LIB = entrez2 xser xconnect xutil xncbi
Index: b/c++/src/objects/scoremat/Makefile.scoremat.lib
===================================================================
--- a/c++/src/objects/scoremat/Makefile.scoremat.lib	2003-06-05 16:20:42.000000000 -0400
+++ b/c++/src/objects/scoremat/Makefile.scoremat.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = scoremat
 SRC = scoremat__ scoremat___
+
+DLL_LIB = seqset seq general xser xncbi
Index: b/c++/src/objects/seqedit/Makefile.seqedit.lib
===================================================================
--- a/c++/src/objects/seqedit/Makefile.seqedit.lib	2006-01-25 12:11:00.000000000 -0500
+++ b/c++/src/objects/seqedit/Makefile.seqedit.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,3 +1,4 @@
 LIB = seqedit
 SRC = seqedit__ seqedit___
- 
+
+DLL_LIB = seqset seq general xser xncbi
Index: b/c++/src/objects/submit/Makefile.submit.lib
===================================================================
--- a/c++/src/objects/submit/Makefile.submit.lib	2003-06-05 16:21:46.000000000 -0400
+++ b/c++/src/objects/submit/Makefile.submit.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = submit
 SRC = submit__ submit___
+
+DLL_LIB = seqset seq biblio general xser xncbi
Index: b/c++/src/objmgr/util/Makefile.util.lib
===================================================================
--- a/c++/src/objmgr/util/Makefile.util.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/objmgr/util/Makefile.util.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,5 +8,7 @@
 SRC = weight sequence feature seqtitle create_defline obj_sniff seq_loc_util seq_align_util
 LIB = xobjutil
 
+DLL_LIB = xobjmgr seqset seq pub biblio general xser sequtil xutil xncbi
+
 WATCHERS = ucko vasilche
 
Index: b/c++/src/objtools/blast/blastdb_format/Makefile.blastdb_format.lib
===================================================================
--- a/c++/src/objtools/blast/blastdb_format/Makefile.blastdb_format.lib	2010-10-15 14:36:58.000000000 -0400
+++ b/c++/src/objtools/blast/blastdb_format/Makefile.blastdb_format.lib	2011-08-29 12:15:27.000000000 -0400
@@ -11,6 +11,7 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS)
 
+DLL_LIB = seqdb xobjutil xobjmgr seq xser sequtil xutil xncbi
 
 ###  EXAMPLES OF OTHER SETTINGS THAT MIGHT BE OF INTEREST
 # CPPFLAGS = $(ORIG_CPPFLAGS) $(NCBI_C_INCLUDE)
Index: b/c++/src/objtools/blast/services/Makefile.blast_services.lib
===================================================================
--- a/c++/src/objtools/blast/services/Makefile.blast_services.lib	2010-10-15 14:36:58.000000000 -0400
+++ b/c++/src/objtools/blast/services/Makefile.blast_services.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,6 +8,8 @@
 
 LIB = blast_services
 
+DLL_LIB = xnetblastcli xnetblast xser xconnect xutil xncbi
+
 CFLAGS   = $(FAST_CFLAGS)
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
Index: b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xloader_genbank.lib
===================================================================
--- a/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xloader_genbank.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xloader_genbank.lib	2011-08-29 12:15:27.000000000 -0400
@@ -12,4 +12,7 @@
 # Dependencies for shared library
 DLL_LIB = ncbi_xreader$(DLL)
 
+DLL_DLIB = ncbi_xreader_id2 ncbi_xreader_id1 ncbi_xreader_cache ncbi_xreader \
+           xobjmgr seq xutil xncbi
+
 WATCHERS = vasilche
Index: b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xreader.lib
===================================================================
--- a/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xreader.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/data_loaders/genbank/Makefile.ncbi_xreader.lib	2011-08-29 12:15:27.000000000 -0400
@@ -14,4 +14,7 @@
 # Dependencies for shared library
 DLL_LIB = 
 
+DLL_DLIB = xobjmgr id2 seqsplit id1 seqset seq general \
+           xser xconnect xcompress xutil xncbi
+
 WATCHERS = vasilche
Index: b/c++/src/objtools/data_loaders/genbank/cache/Makefile.ncbi_xreader_cache.lib
===================================================================
--- a/c++/src/objtools/data_loaders/genbank/cache/Makefile.ncbi_xreader_cache.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/data_loaders/genbank/cache/Makefile.ncbi_xreader_cache.lib	2011-08-29 12:15:27.000000000 -0400
@@ -12,6 +12,8 @@
 # Dependencies for shared library
 DLL_LIB = ncbi_xreader$(DLL)
 
+DLL_DLIB = ncbi_xreader xobjmgr seq xser xncbi
+
 CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE)
 
 WATCHERS = vasilche
Index: b/c++/src/objtools/data_loaders/genbank/id1/Makefile.ncbi_xreader_id1.lib
===================================================================
--- a/c++/src/objtools/data_loaders/genbank/id1/Makefile.ncbi_xreader_id1.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/data_loaders/genbank/id1/Makefile.ncbi_xreader_id1.lib	2011-08-29 12:15:27.000000000 -0400
@@ -12,6 +12,8 @@
 # Dependencies for shared library
 DLL_LIB = xconnect ncbi_xreader$(DLL)
 
+DLL_DLIB = ncbi_xreader xobjmgr id1 seq general xser xconnect xutil xncbi
+
 CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE)
 
 WATCHERS = vasilche
Index: b/c++/src/objtools/data_loaders/genbank/id2/Makefile.ncbi_xreader_id2.lib
===================================================================
--- a/c++/src/objtools/data_loaders/genbank/id2/Makefile.ncbi_xreader_id2.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objtools/data_loaders/genbank/id2/Makefile.ncbi_xreader_id2.lib	2011-08-29 12:15:27.000000000 -0400
@@ -12,6 +12,9 @@
 CPPFLAGS = $(ORIG_CPPFLAGS) $(Z_INCLUDE)
 
 # Dependencies for shared library (disabled due to problems on Darwin)
-# DLL_LIB = xconnect ncbi_xreader$(DLL)
+DLL_LIB = xconnect ncbi_xreader$(DLL)
+
+DLL_DLIB = ncbi_xreader xobjmgr id2 seqsplit seq xser xconnect xncbi
+
 
 WATCHERS = vasilche
Index: b/c++/src/util/compress/api/Makefile.compress.lib
===================================================================
--- a/c++/src/util/compress/api/Makefile.compress.lib	2010-04-26 10:47:05.000000000 -0400
+++ b/c++/src/util/compress/api/Makefile.compress.lib	2011-08-29 12:15:27.000000000 -0400
@@ -6,7 +6,7 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE)
 
-DLL_LIB =  $(BZ2_LIB)  $(Z_LIB)  $(LZO_LIB)
+DLL_LIB =  $(BZ2_LIB)  $(Z_LIB)  $(LZO_LIB) xutil xncbi
 LIBS    =  $(BZ2_LIBS) $(Z_LIBS) $(LZO_LIBS)
 
 WATCHERS = ivanov
Index: b/c++/src/util/sequtil/Makefile.sequtil.lib
===================================================================
--- a/c++/src/util/sequtil/Makefile.sequtil.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/util/sequtil/Makefile.sequtil.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,4 +3,6 @@
 LIB = sequtil
 SRC = sequtil sequtil_convert sequtil_convert_imp sequtil_manip sequtil_tables sequtil_shared
 
+DLL_LIB = xncbi
+
 WATCHERS = shomrat
Index: b/c++/src/corelib/Makefile.test_boost.lib
===================================================================
--- a/c++/src/corelib/Makefile.test_boost.lib	2010-02-26 12:16:17.000000000 -0500
+++ b/c++/src/corelib/Makefile.test_boost.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,6 +3,8 @@
 SRC = test_boost
 LIB = test_boost
 
+DLL_LIB = xncbi
+
 CPPFLAGS = $(ORIG_CPPFLAGS) $(BOOST_INCLUDE)
 
 REQUIRES = Boost.Test.Included
Index: b/c++/src/corelib/Makefile.test_mt.lib
===================================================================
--- a/c++/src/corelib/Makefile.test_mt.lib	2010-04-14 10:30:21.000000000 -0400
+++ b/c++/src/corelib/Makefile.test_mt.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,6 +3,8 @@
 SRC = test_mt
 LIB    = test_mt
 
+DLL_LIB = xncbi
+
 # REQUIRES = MT
 
 USE_PCH = no
Index: b/c++/src/objects/biblio/Makefile.biblio.lib
===================================================================
--- a/c++/src/objects/biblio/Makefile.biblio.lib	2004-02-24 10:53:48.000000000 -0500
+++ b/c++/src/objects/biblio/Makefile.biblio.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = biblio
 SRC = biblio__ biblio___ label_util
+
+DLL_LIB = general xser xncbi
Index: b/c++/src/objects/blastdb/Makefile.blastdb.lib
===================================================================
--- a/c++/src/objects/blastdb/Makefile.blastdb.lib	2003-08-06 12:13:02.000000000 -0400
+++ b/c++/src/objects/blastdb/Makefile.blastdb.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = blastdb
 SRC = blastdb__ blastdb___
+
+DLL_LIB = seq xser xncbi
Index: b/c++/src/objects/general/Makefile.general.lib
===================================================================
--- a/c++/src/objects/general/Makefile.general.lib	2006-03-14 16:14:34.000000000 -0500
+++ b/c++/src/objects/general/Makefile.general.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = general
 SRC = general__ general___ uoconv
+
+DLL_LIB = xser xncbi
Index: b/c++/src/objects/genomecoll/Makefile.genome_collection.lib
===================================================================
--- a/c++/src/objects/genomecoll/Makefile.genome_collection.lib	2010-08-20 12:43:35.000000000 -0400
+++ b/c++/src/objects/genomecoll/Makefile.genome_collection.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,4 +3,6 @@
 LIB = genome_collection
 SRC = genome_collection__ genome_collection___
 
+DLL_LIB = seq general xser xncbi
+
 WATCHERS = dicuccio
Index: b/c++/src/objects/id1/Makefile.id1.lib
===================================================================
--- a/c++/src/objects/id1/Makefile.id1.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objects/id1/Makefile.id1.lib	2011-08-29 12:15:27.000000000 -0400
@@ -3,4 +3,6 @@
 LIB = id1
 SRC = id1__ id1___
 
+DLL_LIB = seqset seq xser xncbi
+
 WATCHERS = vasilche
Index: b/c++/src/objects/id2/Makefile.id2.lib
===================================================================
--- a/c++/src/objects/id2/Makefile.id2.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objects/id2/Makefile.id2.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,4 +1,6 @@
 LIB = id2
 SRC = id2__ id2___
 
+DLL_LIB = seqsplit seq xser xncbi
+
 WATCHERS = vasilche
Index: b/c++/src/objects/medline/Makefile.medline.lib
===================================================================
--- a/c++/src/objects/medline/Makefile.medline.lib	2003-06-05 16:21:46.000000000 -0400
+++ b/c++/src/objects/medline/Makefile.medline.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = medline
 SRC = medline__ medline___
+
+DLL_LIB = biblio general xser xncbi
Index: b/c++/src/objects/pub/Makefile.pub.lib
===================================================================
--- a/c++/src/objects/pub/Makefile.pub.lib	2003-06-05 16:21:46.000000000 -0400
+++ b/c++/src/objects/pub/Makefile.pub.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = pub
 SRC = pub__ pub___
+
+DLL_LIB = medline biblio xser xncbi
Index: b/c++/src/objects/seq/Makefile.seq.lib
===================================================================
--- a/c++/src/objects/seq/Makefile.seq.lib	2010-08-05 12:25:14.000000000 -0400
+++ b/c++/src/objects/seq/Makefile.seq.lib	2011-08-29 12:15:27.000000000 -0400
@@ -11,4 +11,6 @@
       seq_id_tree seq_id_handle seq_id_mapper \
       seq_loc_mapper_base seq_align_mapper_base seqlocinfo
 
+DLL_LIB = seqcode pub biblio general xser sequtil xutil xncbi
+
 WATCHERS = vasilche grichenk
Index: b/c++/src/objects/seqcode/Makefile.seqcode.lib
===================================================================
--- a/c++/src/objects/seqcode/Makefile.seqcode.lib	2003-06-05 16:21:46.000000000 -0400
+++ b/c++/src/objects/seqcode/Makefile.seqcode.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = seqcode
 SRC = seqcode__ seqcode___
+
+DLL_LIB = xser xncbi
Index: b/c++/src/objects/seqset/Makefile.seqset.lib
===================================================================
--- a/c++/src/objects/seqset/Makefile.seqset.lib	2004-05-19 10:49:26.000000000 -0400
+++ b/c++/src/objects/seqset/Makefile.seqset.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,2 +1,4 @@
 LIB = seqset
 SRC = seqset__ seqset___ gb_release_file
+
+DLL_LIB = seq general xser xncbi
Index: b/c++/src/objects/seqsplit/Makefile.seqsplit.lib
===================================================================
--- a/c++/src/objects/seqsplit/Makefile.seqsplit.lib	2010-05-04 11:42:43.000000000 -0400
+++ b/c++/src/objects/seqsplit/Makefile.seqsplit.lib	2011-08-29 12:15:27.000000000 -0400
@@ -1,4 +1,6 @@
 LIB = seqsplit
 SRC = seqsplit__ seqsplit___
 
+DLL_LIB = seqset seq xser xncbi
+
 WATCHERS = vasilche
Index: b/c++/src/serial/Makefile.serial.lib
===================================================================
--- a/c++/src/serial/Makefile.serial.lib	2010-02-26 12:16:17.000000000 -0500
+++ b/c++/src/serial/Makefile.serial.lib	2011-08-29 12:15:27.000000000 -0400
@@ -18,4 +18,6 @@
 
 LIB    = xser
 
+DLL_LIB = xutil xncbi
+
 WATCHERS = gouriano
Index: b/c++/src/util/Makefile.util.lib
===================================================================
--- a/c++/src/util/Makefile.util.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/util/Makefile.util.lib	2011-08-29 12:15:27.000000000 -0400
@@ -11,6 +11,7 @@
 LIB = xutil
 PROJ_TAG = core
 
+DLL_LIB = xncbi
 LIBS = $(ORIG_LIBS)
 
 WATCHERS = vakatov
Index: b/c++/src/util/xregexp/Makefile.xregexp.lib
===================================================================
--- a/c++/src/util/xregexp/Makefile.xregexp.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/util/xregexp/Makefile.xregexp.lib	2011-08-29 12:15:27.000000000 -0400
@@ -6,7 +6,7 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS) $(PCRE_INCLUDE)
 
-DLL_LIB = $(PCRE_LIB)
+DLL_LIB = $(PCRE_LIB) xncbi
 LIBS    = $(PCRE_LIBS)
 
 WATCHERS = ivanov
Index: b/c++/src/algo/segmask/Makefile.xalgosegmask.lib
===================================================================
--- a/c++/src/algo/segmask/Makefile.xalgosegmask.lib	2010-10-21 15:09:21.000000000 -0400
+++ b/c++/src/algo/segmask/Makefile.xalgosegmask.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,6 +8,8 @@
 
 SRC = segmask
 
+DLL_LIB = blast xobjmgr xncbi
+
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
 
Index: b/c++/src/objmgr/split/Makefile.id2_split.lib
===================================================================
--- a/c++/src/objmgr/split/Makefile.id2_split.lib	2010-02-26 11:33:57.000000000 -0500
+++ b/c++/src/objmgr/split/Makefile.id2_split.lib	2011-08-29 12:15:27.000000000 -0400
@@ -17,6 +17,6 @@
 
 CPPFLAGS = $(ORIG_CPPFLAGS) $(CMPRS_INCLUDE)
 
-DLL_LIB = $(SOBJMGR_LIBS)
+DLL_LIB = xobjmgr seqsplit seqset seq general xser xcompress xncbi
 
 WATCHERS = vasilche
Index: b/c++/src/objtools/blast/seqdb_writer/Makefile.writedb.lib
===================================================================
--- a/c++/src/objtools/blast/seqdb_writer/Makefile.writedb.lib	2010-08-06 12:42:59.000000000 -0400
+++ b/c++/src/objtools/blast/seqdb_writer/Makefile.writedb.lib	2011-08-29 12:15:27.000000000 -0400
@@ -8,6 +8,9 @@
 
 LIB = writedb
 
+DLL_LIB = seqdb xobjread xobjmgr blastdb seqset seq general \
+          xser sequtil xutil xncbi
+
 CFLAGS   = $(FAST_CFLAGS)
 CXXFLAGS = $(FAST_CXXFLAGS)
 LDFLAGS  = $(FAST_LDFLAGS)
Index: b/c++/src/algo/blast/Makefile.blast_macros.mk
===================================================================
--- a/c++/src/algo/blast/Makefile.blast_macros.mk	2010-10-21 15:23:10.000000000 -0400
+++ b/c++/src/algo/blast/Makefile.blast_macros.mk	2011-08-29 12:15:27.000000000 -0400
@@ -15,7 +15,7 @@
     $(BLAST_DB_DATA_LOADER_LIBS) $(BLAST_FORMATTER_MINIMAL_LIBS)
 
 # BLAST_FORMATTER_LIBS and BLAST_INPUT_LIBS need $BLAST_LIBS
-BLAST_LIBS = xblast xalgoblastdbindex composition_adjustment \
+BLAST_LIBS = xblast xalgoblastdbindex blast composition_adjustment \
 		xalgodustmask xalgowinmask seqmasks_io seqdb blast_services xobjutil \
 		xobjread creaders xnetblastcli xnetblast blastdb scoremat tables
 # BLAST additionally needs xconnect $(SOBJMGR_LIBS) or $(OBJMGR_LIBS)
Index: b/c++/src/algo/blast/dbindex/makeindex/Makefile.makeindex.app
===================================================================
--- a/c++/src/algo/blast/dbindex/makeindex/Makefile.makeindex.app	2011-08-29 12:17:36.000000000 -0400
+++ b/c++/src/algo/blast/dbindex/makeindex/Makefile.makeindex.app	2011-08-29 12:17:39.000000000 -0400
@@ -2,7 +2,7 @@
 SRC = main mkindex_app
 
 LIB_ = xalgoblastdbindex blast composition_adjustment seqdb blastdb \
-      xobjread creaders xobjutil tables connect $(SOBJMGR_LIBS)
+      xobjread creaders xobjutil tables xconnect $(SOBJMGR_LIBS)
 LIB = $(LIB_:%=%$(STATIC))
 
 CXXFLAGS = $(FAST_CXXFLAGS)
Index: b/c++/src/algo/blast/dbindex_search/srsearch/Makefile.srsearch.app
===================================================================
--- a/c++/src/algo/blast/dbindex_search/srsearch/Makefile.srsearch.app	2011-08-29 12:18:27.000000000 -0400
+++ b/c++/src/algo/blast/dbindex_search/srsearch/Makefile.srsearch.app	2011-08-29 12:18:31.000000000 -0400
@@ -2,7 +2,7 @@
 SRC = main srsearch_app
 
 LIB_ = xalgoblastdbindex xalgoblastdbindex_search blast composition_adjustment seqdb blastdb \
-      xobjread creaders xobjutil tables connect $(SOBJMGR_LIBS)
+      xobjread creaders xobjutil tables xconnect $(SOBJMGR_LIBS)
 LIB = $(LIB_:%=%$(STATIC))
 
 CXXFLAGS = $(FAST_CXXFLAGS)
