diff --git a/ChangeLog b/ChangeLog index e40987b0..1961bc70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,7 +9,7 @@ changes since 0.9.0 FIXED Makefiles so that the NeXus support will not be built if it has not been enabled during the configure stage FIXED ASCII export from musrview in case of a Fourier-Power- or Fourier-Phase-difference plot FIXED bug in asymmetry fit with fixed background -REMOVED the user-function dependency on libPMusr +CHANGED the user-function dependency from libPMusr to libPUserFcnBase musrfit 0.9.0 - changes since 0.8.0 =================================== diff --git a/configure.ac b/configure.ac index 92c18fa7..2ff6d795 100644 --- a/configure.ac +++ b/configure.ac @@ -20,6 +20,7 @@ dnl ----------------------------------------------- MUSR_PROGRAM_NAME=musrfit MUSR_LIBRARY_NAME=PMusr +USERFCN_LIBRARY_NAME=PUserFcnBase LEM_LIBRARY_NAME=TLemRunHeader PSIBIN_LIBRARY_NAME=Class_MuSR_PSI MUD_LIBRARY_NAME=mud @@ -121,6 +122,7 @@ AC_SUBST(CUBA_LIBRARY_VERSION) PACKAGE=$MUSR_PROGRAM_NAME AC_SUBST(MUSR_LIBRARY_NAME) +AC_SUBST(USERFCN_LIBRARY_NAME) AC_SUBST(LEM_LIBRARY_NAME) AC_SUBST(PSIBIN_LIBRARY_NAME) AC_SUBST(MUD_LIBRARY_NAME) @@ -641,6 +643,9 @@ PMUSR_CFLAGS="-I${SRCDIR}/include" AC_SUBST(PMUSR_LIBS) AC_SUBST(PMUSR_CFLAGS) +USERFCN_LIBS="${SRCDIR}/classes/lib${USERFCN_LIBRARY_NAME}.la" +AC_SUBST(USERFCN_LIBS) + if test "${PNEXUS_ENABLED}" = "1"; then AC_DEFINE([PNEXUS_ENABLED], [1], [Define to 1 if NeXus is enabled]) PNEXUS_SRCDIR="${SRCDIR}/external/nexus" @@ -787,6 +792,7 @@ AC_CONFIG_FILES([Makefile \ src/Makefile \ src/classes/Makefile \ src/classes/PMusr.pc \ + src/classes/PUserFcnBase.pc \ src/external/Makefile \ src/external/TLemRunHeader/Makefile \ src/external/TLemRunHeader/TLemRunHeader.pc \ diff --git a/src/Makefile.am b/src/Makefile.am index 945bd0b8..53a2c450 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,5 +28,5 @@ LIBADD = $(PMUSR_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) AM_CXXFLAGS = $(LOCAL_BIN_CXXFLAGS) AM_LDFLAGS = $(LOCAL_BIN_LDFLAGS) INCLUDES = $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(BOOST_CFLAGS) $(ROOT_CFLAGS) -LIBS = $(PMUSR_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) +LIBS = $(PMUSR_LIBS) $(USERFCN_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) diff --git a/src/classes/Makefile.am b/src/classes/Makefile.am index 460ac907..bbe2f248 100644 --- a/src/classes/Makefile.am +++ b/src/classes/Makefile.am @@ -20,19 +20,25 @@ h_sources = \ ../include/PRunMuMinus.h \ ../include/PRunSingleHisto.h \ ../include/PStartupHandler.h \ - ../include/PTheory.h \ + ../include/PTheory.h + +h_sources_userFcn = \ ../include/PUserFcnBase.h h_linkdef = \ ../include/PMusrCanvasLinkDef.h \ ../include/PMusrT0LinkDef.h \ - ../include/PStartupHandlerLinkDef.h \ + ../include/PStartupHandlerLinkDef.h + +h_linkdef_userFcn = \ ../include/PUserFcnBaseLinkDef.h dict_h_sources = \ PMusrCanvasDict.h \ PMusrT0Dict.h \ - PStartupHandlerDict.h \ + PStartupHandlerDict.h + +dict_h_sources_userFcn = \ PUserFcnBaseDict.h cpp_sources = \ @@ -54,34 +60,42 @@ cpp_sources = \ PRunMuMinus.cpp \ PRunSingleHisto.cpp \ PStartupHandler.cpp \ - PTheory.cpp \ + PTheory.cpp + +cpp_sources_userFcn = \ PUserFcnBase.cpp dict_cpp_sources = \ PMusrCanvasDict.cpp \ PMusrT0Dict.cpp \ - PStartupHandlerDict.cpp \ + PStartupHandlerDict.cpp + +dict_cpp_sources_userFcn = \ PUserFcnBaseDict.cpp -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) +include_HEADERS = $(h_sources) $(h_sources_userFcn) +noinst_HEADERS = $(h_linkdef) $(dict_h_sources) $(h_linkdef_userFcn) $(dict_h_sources_userFcn) INCLUDES = -I$(top_srcdir)/src/include $(PSIBIN_CFLAGS) $(MUD_CFLAGS) $(LEM_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(BOOST_CFLAGS) $(ROOT_CFLAGS) $(PNEXUS_CXXFLAGS) $(NEXUS_CFLAGS) AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS) -BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources) +BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources) $(dict_cpp_sources_userFcn) $(dict_h_sources_userFcn) AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@ CLEANFILES = *Dict.cpp *Dict.h *~ core %Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h @ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^ -lib_LTLIBRARIES = libPMusr.la +lib_LTLIBRARIES = libPMusr.la libPUserFcnBase.la libPMusr_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) libPMusr_la_LIBADD = $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) libPMusr_la_LDFLAGS = -version-info $(MUSR_LIBRARY_VERSION) -release $(MUSR_RELEASE) $(AM_LDFLAGS) -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = PMusr.pc +libPUserFcnBase_la_SOURCES = $(h_sources_userFcn) $(cpp_sources_userFcn) $(dict_h_sources_userFcn) $(dict_cpp_sources_userFcn) +libPUserFcnBase_la_LIBADD = $(ROOT_LIBS) +libPUserFcnBase_la_LDFLAGS = -version-info $(MUSR_LIBRARY_VERSION) -release $(MUSR_RELEASE) $(AM_LDFLAGS) + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = PMusr.pc PUserFcnBase.pc diff --git a/src/classes/PUserFcnBase.pc.in b/src/classes/PUserFcnBase.pc.in new file mode 100644 index 00000000..ecf4fe9e --- /dev/null +++ b/src/classes/PUserFcnBase.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: PUserFcnBase +Description: C++ shared library providing the user-function interface for musrfit +Version: @MUSR_VERSION@ +Libs: -L${libdir} -l@USERFCN_LIBRARY_NAME@ +Cflags: -I${includedir} diff --git a/src/external/MagProximity/Makefile.am b/src/external/MagProximity/Makefile.am index 87b4ce15..a2ac43b5 100644 --- a/src/external/MagProximity/Makefile.am +++ b/src/external/MagProximity/Makefile.am @@ -39,7 +39,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core lib_LTLIBRARIES = libPMagProximityFitter.la libPMagProximityFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPMagProximityFitter_la_LIBADD = $(FFTW3_LIBS) $(ROOT_LIBS) +libPMagProximityFitter_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) libPMagProximityFitter_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins... diff --git a/src/external/Nonlocal/Makefile.am b/src/external/Nonlocal/Makefile.am index 31027a77..6f3e38f7 100644 --- a/src/external/Nonlocal/Makefile.am +++ b/src/external/Nonlocal/Makefile.am @@ -39,7 +39,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core lib_LTLIBRARIES = libPNL_PippardFitter.la libPNL_PippardFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPNL_PippardFitter_la_LIBADD = $(FFTW3_LIBS) $(ROOT_LIBS) +libPNL_PippardFitter_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) libPNL_PippardFitter_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins... diff --git a/src/external/libCalcMeanFieldsLEM/Makefile.am b/src/external/libCalcMeanFieldsLEM/Makefile.am index 6b3a618b..8df35510 100644 --- a/src/external/libCalcMeanFieldsLEM/Makefile.am +++ b/src/external/libCalcMeanFieldsLEM/Makefile.am @@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core lib_LTLIBRARIES = libCalcMeanFieldsLEM.la libCalcMeanFieldsLEM_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libCalcMeanFieldsLEM_la_LIBADD = $(BMWTOOLS_LIBS) $(FITPOFB_LIBS) $(ROOT_LIBS) +libCalcMeanFieldsLEM_la_LIBADD = $(BMWTOOLS_LIBS) $(FITPOFB_LIBS) $(USERFCN_LIBS) $(ROOT_LIBS) libCalcMeanFieldsLEM_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins... diff --git a/src/external/libFitPofB/classes/Makefile.am b/src/external/libFitPofB/classes/Makefile.am index 79b92f26..8b6dbdda 100644 --- a/src/external/libFitPofB/classes/Makefile.am +++ b/src/external/libFitPofB/classes/Makefile.am @@ -50,7 +50,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ ../include/*~ core lib_LTLIBRARIES = libFitPofB.la libFitPofB_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libFitPofB_la_LIBADD = $(BMWTOOLS_LIBS) $(LEM_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) +libFitPofB_la_LIBADD = $(BMWTOOLS_LIBS) $(LEM_LIBS) $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) libFitPofB_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins... diff --git a/src/external/libGapIntegrals/Makefile.am b/src/external/libGapIntegrals/Makefile.am index a2be97e3..3030b1eb 100644 --- a/src/external/libGapIntegrals/Makefile.am +++ b/src/external/libGapIntegrals/Makefile.am @@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core lib_LTLIBRARIES = libGapIntegrals.la libGapIntegrals_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libGapIntegrals_la_LIBADD = $(BMWTOOLS_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) +libGapIntegrals_la_LIBADD = $(BMWTOOLS_LIBS) $(USERFCN_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) libGapIntegrals_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins... diff --git a/src/external/libLFRelaxation/Makefile.am b/src/external/libLFRelaxation/Makefile.am index 162b9101..e34991ca 100644 --- a/src/external/libLFRelaxation/Makefile.am +++ b/src/external/libLFRelaxation/Makefile.am @@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core lib_LTLIBRARIES = libLFRelaxation.la libLFRelaxation_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libLFRelaxation_la_LIBADD = $(BMWTOOLS_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) +libLFRelaxation_la_LIBADD = $(BMWTOOLS_LIBS) $(USERFCN_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) libLFRelaxation_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) ## For the moment do not build pkgconfig files for musrfit plug-ins...