diff --git a/ChangeLog b/ChangeLog index 4d1aa11c1..9fc9d9fa6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2007-05-22 Geoffrey Hutchison + + * */Makefile.in: Regenerate UNIX build files. + + * src/plugin.cpp: Make sure to #include to solve GCC + compile problem. + + * src/descriptor.cpp: Change _isnan to IsNan, as discussed on the + list to solve GCC compile problem. + + * scripts/*: Updated to compile. May have removed functionality + because of plugin changes. + + * tools/obminimize.cpp, tools/obgen.cpp, tools/obenergy.cpp: + Switch to OBPlugin::List(). + 2007-05-17 Chris Morley * tools/obprop.cpp: mods to use new versions of logP etc. @@ -11,7 +27,6 @@ * include/openbabel/fingerprint.h:comment had become uncommented. - 2007-05-16 Noel O'Boyle * Added Chris's header changes to Makefile.am diff --git a/include/openbabel/Makefile.in b/include/openbabel/Makefile.in index 2a5aa89a1..fde12b268 100644 --- a/include/openbabel/Makefile.in +++ b/include/openbabel/Makefile.in @@ -195,13 +195,13 @@ libopenbabelinclude_HEADERS = \ atom.h \ babelconfig.h base.h bitvec.h bond.h \ bondtyper.h canon.h \ - chains.h chiral.h data.h \ - dlhandler.h fingerprint.h forcefield.h \ + chains.h chiral.h data.h descriptor.h \ + dlhandler.h fingerprint.h forcefield.h format.h \ generic.h grid.h internalcoord.h kinetics.h \ lineend.h matrix.h mol.h molchrg.h \ obconversion.h oberror.h obiter.h \ obmolecformat.h obutil.h \ - parsmart.h patty.h phmodel.h pluginiter.h \ + parsmart.h patty.h phmodel.h plugin.h \ groupcontrib.h \ rand.h reaction.h \ residue.h ring.h rotamer.h rotor.h typer.h \ diff --git a/scripts/openbabel-java.i b/scripts/openbabel-java.i index 7213b0b70..e06da6719 100644 --- a/scripts/openbabel-java.i +++ b/scripts/openbabel-java.i @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include @@ -76,9 +76,7 @@ OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) { %include %include -%include -%template (pluginiterFingerprint) OpenBabel::PluginIter; -%template (pluginiterForceField) OpenBabel::PluginIter; +%include %include %include diff --git a/scripts/openbabel-perl.i b/scripts/openbabel-perl.i index 8f60b023a..fa560ce19 100644 --- a/scripts/openbabel-perl.i +++ b/scripts/openbabel-perl.i @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include @@ -84,9 +84,7 @@ OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) { %import %import -%include -%template (pluginiterFingerprint) OpenBabel::PluginIter; -%template (pluginiterForceField) OpenBabel::PluginIter; +%include %include %include diff --git a/scripts/openbabel-ruby.i b/scripts/openbabel-ruby.i index 1546ea0eb..d0cfb07ff 100644 --- a/scripts/openbabel-ruby.i +++ b/scripts/openbabel-ruby.i @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include @@ -92,9 +92,7 @@ OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) { %import %import -%include -%template (pluginiterFingerprint) OpenBabel::PluginIter; -%template (pluginiterForceField) OpenBabel::PluginIter; +%include %include %include diff --git a/scripts/perl/META.yml b/scripts/perl/META.yml index 19b71a722..5a1c6a1da 100644 --- a/scripts/perl/META.yml +++ b/scripts/perl/META.yml @@ -1,7 +1,7 @@ # http://module-build.sourceforge.net/META-spec.html #XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: Chemistry-OpenBabel -version: 1.2.0 +version: 1.2.1 version_from: installdirs: site requires: diff --git a/scripts/perl/Makefile.PL b/scripts/perl/Makefile.PL index 7be6c5d05..adbe279cb 100644 --- a/scripts/perl/Makefile.PL +++ b/scripts/perl/Makefile.PL @@ -14,7 +14,7 @@ $ldfrom = "\$(OBJECT) $srcdir/.libs/libopenbabel.a -lz" WriteMakefile( 'NAME' => 'Chemistry::OpenBabel', 'AUTHOR' => 'Geoffrey Hutchison ', - 'VERSION' => '1.2.0', + 'VERSION' => '1.2.1', 'LDFROM' => $ldfrom, 'CC' => $CC, 'LD' => '$(CC)', diff --git a/src/Makefile.in b/src/Makefile.in index 61ab39419..bc98ac84d 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -62,20 +62,22 @@ LTLIBRARIES = $(lib_LTLIBRARIES) @BUILD_SHARED_TRUE@ forcefields/libforcefields.la @LTLIBOBJS@ am__libopenbabel_la_SOURCES_DIST = atom.cpp base.cpp bitvec.cpp \ bond.cpp bondtyper.cpp canon.cpp chains.cpp chiral.cpp \ - data.cpp fingerprint.cpp forcefield.cpp generic.cpp grid.cpp \ - kekulize.cpp matrix.cpp mol.cpp molchrg.cpp obconversion.cpp \ - oberror.cpp obiter.cpp obutil.cpp parsmart.cpp patty.cpp \ - phmodel.cpp rand.cpp residue.cpp ring.cpp rotor.cpp \ - rotamer.cpp tokenst.cpp typer.cpp transform.cpp \ - groupcontrib.cpp dlhandler_unix.cpp + data.cpp descriptor.cpp filters.cpp fingerprint.cpp \ + forcefield.cpp format.cpp generic.cpp grid.cpp kekulize.cpp \ + matrix.cpp mol.cpp molchrg.cpp obconversion.cpp oberror.cpp \ + obiter.cpp obutil.cpp parsmart.cpp patty.cpp phmodel.cpp \ + plugin.cpp rand.cpp residue.cpp ring.cpp rotor.cpp rotamer.cpp \ + tokenst.cpp typer.cpp transform.cpp groupcontrib.cpp \ + dlhandler_unix.cpp @BUILD_SHARED_TRUE@am__objects_1 = dlhandler_unix.lo am_libopenbabel_la_OBJECTS = atom.lo base.lo bitvec.lo bond.lo \ bondtyper.lo canon.lo chains.lo chiral.lo data.lo \ - fingerprint.lo forcefield.lo generic.lo grid.lo kekulize.lo \ - matrix.lo mol.lo molchrg.lo obconversion.lo oberror.lo \ - obiter.lo obutil.lo parsmart.lo patty.lo phmodel.lo rand.lo \ - residue.lo ring.lo rotor.lo rotamer.lo tokenst.lo typer.lo \ - transform.lo groupcontrib.lo $(am__objects_1) + descriptor.lo filters.lo fingerprint.lo forcefield.lo \ + format.lo generic.lo grid.lo kekulize.lo matrix.lo mol.lo \ + molchrg.lo obconversion.lo oberror.lo obiter.lo obutil.lo \ + parsmart.lo patty.lo phmodel.lo plugin.lo rand.lo residue.lo \ + ring.lo rotor.lo rotamer.lo tokenst.lo typer.lo transform.lo \ + groupcontrib.lo $(am__objects_1) libopenbabel_la_OBJECTS = $(am_libopenbabel_la_OBJECTS) libopenbabel_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ @@ -250,13 +252,14 @@ lib_LTLIBRARIES = libopenbabel.la libopenbabel_la_SOURCES = \ atom.cpp base.cpp bitvec.cpp bond.cpp \ bondtyper.cpp canon.cpp \ - chains.cpp chiral.cpp data.cpp \ - fingerprint.cpp forcefield.cpp generic.cpp \ + chains.cpp chiral.cpp data.cpp descriptor.cpp filters.cpp \ + fingerprint.cpp forcefield.cpp format.cpp generic.cpp \ grid.cpp kekulize.cpp matrix.cpp mol.cpp \ molchrg.cpp \ obconversion.cpp oberror.cpp obiter.cpp \ obutil.cpp parsmart.cpp \ - patty.cpp phmodel.cpp rand.cpp residue.cpp ring.cpp \ + patty.cpp phmodel.cpp plugin.cpp \ + rand.cpp residue.cpp ring.cpp \ rotor.cpp rotamer.cpp tokenst.cpp typer.cpp \ transform.cpp groupcontrib.cpp $(dlhandler) @@ -369,9 +372,12 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chains.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chiral.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/descriptor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlhandler_unix.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filters.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fingerprint.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/forcefield.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/groupcontrib.Plo@am__quote@ @@ -386,6 +392,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parsmart.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patty.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phmodel.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/residue.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ring.Plo@am__quote@ diff --git a/src/descriptor.cpp b/src/descriptor.cpp index cd3196047..49b24b5c8 100644 --- a/src/descriptor.cpp +++ b/src/descriptor.cpp @@ -22,6 +22,10 @@ GNU General Public License for more details. #include #include +#if defined(WIN32) +#define IsNan _isnan +#endif + using namespace std; namespace OpenBabel { @@ -227,7 +231,7 @@ bool OBDescriptor::GenericDataCompare(string& ID, OBBase* pOb, istream& optionTe } stringstream ss(sval); double val; - if((ss >> val) && _isnan(filterval)) + if((ss >> val) && IsNan(filterval)) //Do a string comparison if either the filter or the OBPair value is not a number return DoComparison(ch1, ch2, sval, sfilterval); else @@ -366,7 +370,7 @@ bool OBDescriptor::CompareStringWithFilter(istream& optionText, string& sval, bo stringstream ss(sval); double val; - if((ss >> val) && !_isnan(filterval)) + if((ss >> val) && !IsNan(filterval)) //Do a numerical comparison if both values are numbers return DoComparison(ch1, ch2, val, filterval); else diff --git a/src/plugin.cpp b/src/plugin.cpp index f70fc12e4..b72da65ff 100644 --- a/src/plugin.cpp +++ b/src/plugin.cpp @@ -18,6 +18,8 @@ General Public License for more details. #include #include +#include + using namespace std; namespace OpenBabel { @@ -73,7 +75,7 @@ void OBPlugin::List(const char* PluginID, const char* param, ostream* os) vector vlist; if(!ListAsVector(PluginID,param, vlist)) *os << PluginID << " is not a recognized plugin type. Those with instances of sub-types loaded are:" << endl; - copy(vlist.begin(), vlist.end(), ostream_iterator(*os, "\n")); + copy(vlist.begin(), vlist.end(), std::ostream_iterator(*os, "\n")); } string OBPlugin::ListAsString(const char* PluginID, const char* param) diff --git a/tools/Makefile.am b/tools/Makefile.am index 6c09065c9..8b8ece9f5 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,5 +1,5 @@ bin_PROGRAMS = babel obchiral obgrep obrotate obfit obprop obxyz obgen \ - obenergy obminimize obmm obrotamer obfragment obdoc + obenergy obminimize obmm obrotamer obfragment # obdoc # obdoc is intended to be used for generating file format documentation # and is not a general end-user program @@ -40,8 +40,8 @@ obrotamer_LDADD = ../src/libopenbabel.la @LIBDL@ obxyz_SOURCES = obxyz.cpp obxyz_LDADD = ../src/libopenbabel.la @LIBDL@ -obdoc_SOURCES = obdoc.cpp -obdoc_LDADD = ../src/libopenbabel.la @LIBDL@ +# obdoc_SOURCES = obdoc.cpp +# obdoc_LDADD = ../src/libopenbabel.la @LIBDL@ obfragment_SOURCES = obfragment.cpp obfragment_LDADD = ../src/libopenbabel.la @LIBDL@ diff --git a/tools/Makefile.in b/tools/Makefile.in index b5ed3e491..ed2821bdf 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -36,7 +36,7 @@ bin_PROGRAMS = babel$(EXEEXT) obchiral$(EXEEXT) obgrep$(EXEEXT) \ obrotate$(EXEEXT) obfit$(EXEEXT) obprop$(EXEEXT) \ obxyz$(EXEEXT) obgen$(EXEEXT) obenergy$(EXEEXT) \ obminimize$(EXEEXT) obmm$(EXEEXT) obrotamer$(EXEEXT) \ - obfragment$(EXEEXT) obdoc$(EXEEXT) + obfragment$(EXEEXT) subdir = tools DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -56,9 +56,6 @@ babel_DEPENDENCIES = ../src/libopenbabel.la am_obchiral_OBJECTS = obchiral.$(OBJEXT) obchiral_OBJECTS = $(am_obchiral_OBJECTS) obchiral_DEPENDENCIES = ../src/libopenbabel.la -am_obdoc_OBJECTS = obdoc.$(OBJEXT) -obdoc_OBJECTS = $(am_obdoc_OBJECTS) -obdoc_DEPENDENCIES = ../src/libopenbabel.la am_obenergy_OBJECTS = obenergy.$(OBJEXT) obenergy_OBJECTS = $(am_obenergy_OBJECTS) obenergy_DEPENDENCIES = ../src/libopenbabel.la @@ -104,12 +101,12 @@ CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(babel_SOURCES) $(obchiral_SOURCES) $(obdoc_SOURCES) \ - $(obenergy_SOURCES) $(obfit_SOURCES) $(obfragment_SOURCES) \ - $(obgen_SOURCES) $(obgrep_SOURCES) $(obminimize_SOURCES) \ - $(obmm_SOURCES) $(obprop_SOURCES) $(obrotamer_SOURCES) \ - $(obrotate_SOURCES) $(obxyz_SOURCES) -DIST_SOURCES = $(babel_SOURCES) $(obchiral_SOURCES) $(obdoc_SOURCES) \ +SOURCES = $(babel_SOURCES) $(obchiral_SOURCES) $(obenergy_SOURCES) \ + $(obfit_SOURCES) $(obfragment_SOURCES) $(obgen_SOURCES) \ + $(obgrep_SOURCES) $(obminimize_SOURCES) $(obmm_SOURCES) \ + $(obprop_SOURCES) $(obrotamer_SOURCES) $(obrotate_SOURCES) \ + $(obxyz_SOURCES) +DIST_SOURCES = $(babel_SOURCES) $(obchiral_SOURCES) \ $(obenergy_SOURCES) $(obfit_SOURCES) $(obfragment_SOURCES) \ $(obgen_SOURCES) $(obgrep_SOURCES) $(obminimize_SOURCES) \ $(obmm_SOURCES) $(obprop_SOURCES) $(obrotamer_SOURCES) \ @@ -266,8 +263,9 @@ obrotamer_SOURCES = obrotamer.cpp obrotamer_LDADD = ../src/libopenbabel.la @LIBDL@ obxyz_SOURCES = obxyz.cpp obxyz_LDADD = ../src/libopenbabel.la @LIBDL@ -obdoc_SOURCES = obdoc.cpp -obdoc_LDADD = ../src/libopenbabel.la @LIBDL@ + +# obdoc_SOURCES = obdoc.cpp +# obdoc_LDADD = ../src/libopenbabel.la @LIBDL@ obfragment_SOURCES = obfragment.cpp obfragment_LDADD = ../src/libopenbabel.la @LIBDL@ AM_CPPFLAGS = -I$(top_srcdir)/include @@ -338,9 +336,6 @@ babel$(EXEEXT): $(babel_OBJECTS) $(babel_DEPENDENCIES) obchiral$(EXEEXT): $(obchiral_OBJECTS) $(obchiral_DEPENDENCIES) @rm -f obchiral$(EXEEXT) $(CXXLINK) $(obchiral_OBJECTS) $(obchiral_LDADD) $(LIBS) -obdoc$(EXEEXT): $(obdoc_OBJECTS) $(obdoc_DEPENDENCIES) - @rm -f obdoc$(EXEEXT) - $(CXXLINK) $(obdoc_OBJECTS) $(obdoc_LDADD) $(LIBS) obenergy$(EXEEXT): $(obenergy_OBJECTS) $(obenergy_DEPENDENCIES) @rm -f obenergy$(EXEEXT) $(CXXLINK) $(obenergy_OBJECTS) $(obenergy_LDADD) $(LIBS) @@ -383,7 +378,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/babel.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obchiral.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obdoc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obenergy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obfit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/obfragment.Po@am__quote@ diff --git a/tools/obenergy.cpp b/tools/obenergy.cpp index 8bf629386..24918f3d8 100644 --- a/tools/obenergy.cpp +++ b/tools/obenergy.cpp @@ -49,10 +49,7 @@ int main(int argc,char **argv) cout << endl; cout << " available forcefields:" << endl; cout << endl; - FOR_EACH(OBForceField, iter) { - //cout << " " << iter.ID() << " - " << iter.Description() << endl; - cout << " " << iter.ID() << endl; - } + OBPlugin::List("forcefields", "verbose"); exit(-1); } else { int ifile = 1; diff --git a/tools/obgen.cpp b/tools/obgen.cpp index 6a0ccc7d7..696207944 100644 --- a/tools/obgen.cpp +++ b/tools/obgen.cpp @@ -51,10 +51,7 @@ int main(int argc,char **argv) cout << endl; cout << " -ff select a forcefield" << endl; cout << endl; - FOR_EACH(OBForceField, iter) { - //cout << " " << iter.ID() << " - " << iter.Description() << endl; - cout << " " << iter.ID() << endl; - } + OBPlugin::List("forcefields", "verbose"); exit(-1); } else { basename = filename = argv[1]; diff --git a/tools/obminimize.cpp b/tools/obminimize.cpp index 8cba7bd71..6074d7960 100644 --- a/tools/obminimize.cpp +++ b/tools/obminimize.cpp @@ -56,10 +56,7 @@ int main(int argc,char **argv) cout << endl; cout << " -ff ffid select a forcefield:" << endl; cout << endl; - FOR_EACH(OBForceField, iter) { - //cout << " " << iter.ID() << " - " << iter.Description() << endl; - cout << " " << iter.ID() << endl; - } + OBPlugin::List("forcefields", "verbose"); exit(-1); } else { int ifile = 1;