From f97b048e8257b454cf4acba069be60d469ff0edd Mon Sep 17 00:00:00 2001 From: Scott R Charlton Date: Tue, 29 Apr 2014 23:30:39 +0000 Subject: [PATCH] changes req'd for CRAN git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8686 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- R/Makefile | 81 ++++++++++++++++++++++++++++++++++++++---------------- R/Makevars | 5 ++-- R/R.cpp | 26 +++++++++--------- 3 files changed, 74 insertions(+), 38 deletions(-) diff --git a/R/Makefile b/R/Makefile index ddb886ae..54f7e805 100644 --- a/R/Makefile +++ b/R/Makefile @@ -210,14 +210,14 @@ PSRC = \ XSRC = \ $(IDEST)/CSelectedOutput.cpp \ - $(IDEST)/CSelectedOutput.hxx \ - $(IDEST)/CVar.hxx \ + $(IDEST)/CSelectedOutputhxx.h \ + $(IDEST)/CVarhxx.h \ $(IDEST)/Debug.h \ - $(IDEST)/ErrorReporter.hxx \ + $(IDEST)/ErrorReporterhxx.h \ $(IDEST)/IPhreeqcCallbacks.h \ $(IDEST)/IPhreeqc.cpp \ $(IDEST)/IPhreeqc.h \ - $(IDEST)/IPhreeqc.hpp \ + $(IDEST)/IPhreeqchpp.h \ $(IDEST)/IPhreeqcLib.cpp \ $(IDEST)/R.cpp \ $(IDEST)/thread.h \ @@ -667,40 +667,80 @@ $(DEST)/Utils.h : $(SRC)/Utils.h $(IDEST)/CSelectedOutput.cpp : $(ISRC)/CSelectedOutput.cpp - $(CP) $< $@ + sed \ + -e 's/#include "CSelectedOutput.hxx"/#include "CSelectedOutputhxx.h"/g' \ + -e 's/\.lVal/.u.lVal/g' \ + -e 's/->lVal/->u.lVal/g' \ + -e 's/\.dVal/.u.dVal/g' \ + -e 's/->dVal/->u.dVal/g' \ + -e 's/\.sVal/.u.sVal/g' \ + -e 's/->sVal/->u.sVal/g' \ + -e 's/\.vresult/.u.vresult/g' \ + -e 's/->vresult/->u.vresult/g' \ + < $< > $@ -$(IDEST)/CSelectedOutput.hxx : $(ISRC)/CSelectedOutput.hxx - $(CP) $< $@ +$(IDEST)/CSelectedOutputhxx.h : $(ISRC)/CSelectedOutput.hxx + sed 's/#include "CVar.hxx"/#include "CVarhxx.h"/g' $< > $@ -$(IDEST)/CVar.hxx : $(ISRC)/CVar.hxx - $(CP) $< $@ +$(IDEST)/CVarhxx.h : $(ISRC)/CVar.hxx + sed \ + -e 's/\.lVal/.u.lVal/g' \ + -e 's/->lVal/->u.lVal/g' \ + -e 's/\.dVal/.u.dVal/g' \ + -e 's/->dVal/->u.dVal/g' \ + -e 's/\.sVal/.u.sVal/g' \ + -e 's/->sVal/->u.sVal/g' \ + -e 's/\.vresult/.u.vresult/g' \ + -e 's/->vresult/->u.vresult/g' \ + < $< > $@ $(IDEST)/Debug.h : $(ISRC)/Debug.h $(CP) $< $@ -$(IDEST)/ErrorReporter.hxx : $(ISRC)/ErrorReporter.hxx +$(IDEST)/ErrorReporterhxx.h : $(ISRC)/ErrorReporter.hxx $(CP) $< $@ $(IDEST)/IPhreeqcCallbacks.h : ../src/IPhreeqcCallbacks.h $(CP) $< $@ $(IDEST)/IPhreeqc.cpp : $(ISRC)/IPhreeqc.cpp - $(CP) $< $@ + sed \ + -e 's/#include "IPhreeqc.hpp"/#include "IPhreeqchpp.h"/g' \ + -e 's/#include "ErrorReporter.hxx"/#include "ErrorReporterhxx.h"/g' \ + -e 's/#include "CSelectedOutput.hxx"/#include "CSelectedOutputhxx.h"/g' \ + -e 's/\.lVal/.u.lVal/g' \ + -e 's/->lVal/->u.lVal/g' \ + -e 's/\.dVal/.u.dVal/g' \ + -e 's/->dVal/->u.dVal/g' \ + -e 's/\.sVal/.u.sVal/g' \ + -e 's/->sVal/->u.sVal/g' \ + -e 's/\.vresult/.u.vresult/g' \ + -e 's/->vresult/->u.vresult/g' \ + < $< > $@ $(IDEST)/IPhreeqc.h : $(ISRC)/IPhreeqc.h $(CP) $< $@ -$(IDEST)/IPhreeqc.hpp : $(ISRC)/IPhreeqc.hpp +$(IDEST)/IPhreeqchpp.h : $(ISRC)/IPhreeqc.hpp $(CP) $< $@ $(IDEST)/IPhreeqcLib.cpp : $(ISRC)/IPhreeqcLib.cpp - $(CP) $< $@ + sed 's/#include "IPhreeqc.hpp"/#include "IPhreeqchpp.h"/g' $< > $@ $(IDEST)/thread.h : $(ISRC)/thread.h $(CP) $< $@ $(IDEST)/Var.c : $(ISRC)/Var.c - $(CP) $< $@ + sed \ + -e 's/\.lVal/.u.lVal/g' \ + -e 's/->lVal/->u.lVal/g' \ + -e 's/\.dVal/.u.dVal/g' \ + -e 's/->dVal/->u.dVal/g' \ + -e 's/\.sVal/.u.sVal/g' \ + -e 's/->sVal/->u.sVal/g' \ + -e 's/\.vresult/.u.vresult/g' \ + -e 's/->vresult/->u.vresult/g' \ + < $< > $@ $(IDEST)/Var.h : $(ISRC)/Var.h $(CP) $< $@ @@ -737,14 +777,9 @@ $(IDEST)/Makevars : Makevars $(CP) $< $@ $(IDEST)/R.cpp : R.cpp - $(CP) $< $@ - -##$(IDEST)/RPhreeqcDat.c : ../database/phreeqc.dat -### echo "extern \"C\" {" > $@ -## echo "const char PHREEQC_DAT[] = " >> $@ -## sed -e 's/\\/\\\\/g;s/"/\\"/g;s/\t/\\t/g;s/^/"/;s/$$/\\n"/' $< >> $@ -## echo ";" >> $@ -### echo "} // extern \"C\"" >> $@ + sed \ + -e 's/#include "IPhreeqc.hpp"/#include "IPhreeqchpp.h"/g' \ + < $< > $@ $(IDEST): mkdir $(IDEST) @@ -753,4 +788,4 @@ $(DEST): mkdir $(DEST) clean : - rm -f $(PSRC) $(ISRC) $(DEST)/*.o $(IDEST)/*.o $(DEST)/*.so + rm -f $(PSRC) $(XSRC) $(DEST)/*.o $(IDEST)/*.o $(DEST)/*.so diff --git a/R/Makevars b/R/Makevars index f904a711..ef965ed7 100644 --- a/R/Makevars +++ b/R/Makevars @@ -88,9 +88,10 @@ OBJECTS.phreeqcpp = \ OBJECTS = $(OBJECTS.root) $(OBJECTS.phreeqcpp) -PKG_CPPFLAGS =-I. -Iphreeqcpp -DNDEBUG -DR_SO -DSWIG_SHARED_OBJ +PKG_CPPFLAGS =-I. -Iphreeqcpp -DNDEBUG -DR_SO -DSWIG_SHARED_OBJ -DVAR_UNION_NAME=u -pedantic +##PKG_CPPFLAGS =-I. -Iphreeqcpp -DNDEBUG -DR_SO -DSWIG_SHARED_OBJ -pedantic all: $(SHLIB) clean: - rm -f $(OBJECTS) \ No newline at end of file + rm -f $(OBJECTS) diff --git a/R/R.cpp b/R/R.cpp index eee638b8..c3654c71 100644 --- a/R/R.cpp +++ b/R/R.cpp @@ -141,7 +141,7 @@ getCol(int ncol) SET_STRING_ELT(ans, r-1, mkChar("")); break; case TT_ERROR: - switch (vv.vresult) { + switch (vv.u.vresult) { case VR_OK: SET_STRING_ELT(ans, r-1, mkChar("VR_OK")); break; case VR_OUTOFMEMORY: SET_STRING_ELT(ans, r-1, mkChar("VR_OUTOFMEMORY")); break; case VR_BADVARTYPE: SET_STRING_ELT(ans, r-1, mkChar("VR_BADVARTYPE")); break; @@ -151,23 +151,23 @@ getCol(int ncol) } break; case TT_LONG: - if (vv.lVal == -99) { + if (vv.u.lVal == -99) { sprintf(buffer, "NA"); } else { - sprintf(buffer, "%ld", vv.lVal); + sprintf(buffer, "%ld", vv.u.lVal); } SET_STRING_ELT(ans, r-1, mkChar(buffer)); break; case TT_DOUBLE: - if (vv.dVal == -999.999 || vv.dVal == -99.) { + if (vv.u.dVal == -999.999 || vv.u.dVal == -99.) { sprintf(buffer, "NA"); } else { - sprintf(buffer, "%lg", vv.dVal); + sprintf(buffer, "%g", vv.u.dVal); } SET_STRING_ELT(ans, r-1, mkChar(buffer)); break; case TT_STRING: - SET_STRING_ELT(ans, r-1, mkChar(vv.sVal)); + SET_STRING_ELT(ans, r-1, mkChar(vv.u.sVal)); break; } VarClear(&vv); @@ -188,17 +188,17 @@ getCol(int ncol) REAL(ans)[r-1] = NA_REAL; break; case TT_LONG: - if (vv.lVal == -99) { + if (vv.u.lVal == -99) { REAL(ans)[r-1] = NA_REAL; } else { - REAL(ans)[r-1] = (double)vv.lVal; + REAL(ans)[r-1] = (double)vv.u.lVal; } break; case TT_DOUBLE: - if (vv.dVal == -999.999 || vv.dVal == -99. || vv.dVal == 1e-99) { + if (vv.u.dVal == -999.999 || vv.u.dVal == -99. || vv.u.dVal == 1e-99) { REAL(ans)[r-1] = NA_REAL; } else { - REAL(ans)[r-1] = (double)vv.dVal; + REAL(ans)[r-1] = (double)vv.u.dVal; } break; default: @@ -222,10 +222,10 @@ getCol(int ncol) INTEGER(ans)[r-1] = NA_INTEGER; break; case TT_LONG: - if (vv.lVal == -99) { + if (vv.u.lVal == -99) { INTEGER(ans)[r-1] = NA_INTEGER; } else { - INTEGER(ans)[r-1] = vv.lVal; + INTEGER(ans)[r-1] = vv.u.lVal; } break; default: @@ -610,7 +610,7 @@ getSelOut(void) PROTECT(col = getCol(c)); SET_VECTOR_ELT(list, c, col); - SET_STRING_ELT(attr, c, mkChar(vn.sVal)); + SET_STRING_ELT(attr, c, mkChar(vn.u.sVal)); UNPROTECT(1); VarClear(&vn);