The previous approach did not work...

Needed to split off the userFcn part from libPMusr to be able to provide a shared library of it (under Cygwin).
This commit is contained in:
Bastian M. Wojek 2011-04-13 09:59:33 +00:00
parent 1024f5a28f
commit 0191375a96
11 changed files with 49 additions and 19 deletions

View File

@ -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 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 ASCII export from musrview in case of a Fourier-Power- or Fourier-Phase-difference plot
FIXED bug in asymmetry fit with fixed background 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 musrfit 0.9.0 - changes since 0.8.0
=================================== ===================================

View File

@ -20,6 +20,7 @@ dnl -----------------------------------------------
MUSR_PROGRAM_NAME=musrfit MUSR_PROGRAM_NAME=musrfit
MUSR_LIBRARY_NAME=PMusr MUSR_LIBRARY_NAME=PMusr
USERFCN_LIBRARY_NAME=PUserFcnBase
LEM_LIBRARY_NAME=TLemRunHeader LEM_LIBRARY_NAME=TLemRunHeader
PSIBIN_LIBRARY_NAME=Class_MuSR_PSI PSIBIN_LIBRARY_NAME=Class_MuSR_PSI
MUD_LIBRARY_NAME=mud MUD_LIBRARY_NAME=mud
@ -121,6 +122,7 @@ AC_SUBST(CUBA_LIBRARY_VERSION)
PACKAGE=$MUSR_PROGRAM_NAME PACKAGE=$MUSR_PROGRAM_NAME
AC_SUBST(MUSR_LIBRARY_NAME) AC_SUBST(MUSR_LIBRARY_NAME)
AC_SUBST(USERFCN_LIBRARY_NAME)
AC_SUBST(LEM_LIBRARY_NAME) AC_SUBST(LEM_LIBRARY_NAME)
AC_SUBST(PSIBIN_LIBRARY_NAME) AC_SUBST(PSIBIN_LIBRARY_NAME)
AC_SUBST(MUD_LIBRARY_NAME) AC_SUBST(MUD_LIBRARY_NAME)
@ -641,6 +643,9 @@ PMUSR_CFLAGS="-I${SRCDIR}/include"
AC_SUBST(PMUSR_LIBS) AC_SUBST(PMUSR_LIBS)
AC_SUBST(PMUSR_CFLAGS) AC_SUBST(PMUSR_CFLAGS)
USERFCN_LIBS="${SRCDIR}/classes/lib${USERFCN_LIBRARY_NAME}.la"
AC_SUBST(USERFCN_LIBS)
if test "${PNEXUS_ENABLED}" = "1"; then if test "${PNEXUS_ENABLED}" = "1"; then
AC_DEFINE([PNEXUS_ENABLED], [1], [Define to 1 if NeXus is enabled]) AC_DEFINE([PNEXUS_ENABLED], [1], [Define to 1 if NeXus is enabled])
PNEXUS_SRCDIR="${SRCDIR}/external/nexus" PNEXUS_SRCDIR="${SRCDIR}/external/nexus"
@ -787,6 +792,7 @@ AC_CONFIG_FILES([Makefile \
src/Makefile \ src/Makefile \
src/classes/Makefile \ src/classes/Makefile \
src/classes/PMusr.pc \ src/classes/PMusr.pc \
src/classes/PUserFcnBase.pc \
src/external/Makefile \ src/external/Makefile \
src/external/TLemRunHeader/Makefile \ src/external/TLemRunHeader/Makefile \
src/external/TLemRunHeader/TLemRunHeader.pc \ src/external/TLemRunHeader/TLemRunHeader.pc \

View File

@ -28,5 +28,5 @@ LIBADD = $(PMUSR_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS)
AM_CXXFLAGS = $(LOCAL_BIN_CXXFLAGS) AM_CXXFLAGS = $(LOCAL_BIN_CXXFLAGS)
AM_LDFLAGS = $(LOCAL_BIN_LDFLAGS) AM_LDFLAGS = $(LOCAL_BIN_LDFLAGS)
INCLUDES = $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(BOOST_CFLAGS) $(ROOT_CFLAGS) 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)

View File

@ -20,19 +20,25 @@ h_sources = \
../include/PRunMuMinus.h \ ../include/PRunMuMinus.h \
../include/PRunSingleHisto.h \ ../include/PRunSingleHisto.h \
../include/PStartupHandler.h \ ../include/PStartupHandler.h \
../include/PTheory.h \ ../include/PTheory.h
h_sources_userFcn = \
../include/PUserFcnBase.h ../include/PUserFcnBase.h
h_linkdef = \ h_linkdef = \
../include/PMusrCanvasLinkDef.h \ ../include/PMusrCanvasLinkDef.h \
../include/PMusrT0LinkDef.h \ ../include/PMusrT0LinkDef.h \
../include/PStartupHandlerLinkDef.h \ ../include/PStartupHandlerLinkDef.h
h_linkdef_userFcn = \
../include/PUserFcnBaseLinkDef.h ../include/PUserFcnBaseLinkDef.h
dict_h_sources = \ dict_h_sources = \
PMusrCanvasDict.h \ PMusrCanvasDict.h \
PMusrT0Dict.h \ PMusrT0Dict.h \
PStartupHandlerDict.h \ PStartupHandlerDict.h
dict_h_sources_userFcn = \
PUserFcnBaseDict.h PUserFcnBaseDict.h
cpp_sources = \ cpp_sources = \
@ -54,34 +60,42 @@ cpp_sources = \
PRunMuMinus.cpp \ PRunMuMinus.cpp \
PRunSingleHisto.cpp \ PRunSingleHisto.cpp \
PStartupHandler.cpp \ PStartupHandler.cpp \
PTheory.cpp \ PTheory.cpp
cpp_sources_userFcn = \
PUserFcnBase.cpp PUserFcnBase.cpp
dict_cpp_sources = \ dict_cpp_sources = \
PMusrCanvasDict.cpp \ PMusrCanvasDict.cpp \
PMusrT0Dict.cpp \ PMusrT0Dict.cpp \
PStartupHandlerDict.cpp \ PStartupHandlerDict.cpp
dict_cpp_sources_userFcn = \
PUserFcnBaseDict.cpp PUserFcnBaseDict.cpp
include_HEADERS = $(h_sources) include_HEADERS = $(h_sources) $(h_sources_userFcn)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources) 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) 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) 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@ AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h %Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^ @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_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_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) libPMusr_la_LDFLAGS = -version-info $(MUSR_LIBRARY_VERSION) -release $(MUSR_RELEASE) $(AM_LDFLAGS)
pkgconfigdir = $(libdir)/pkgconfig libPUserFcnBase_la_SOURCES = $(h_sources_userFcn) $(cpp_sources_userFcn) $(dict_h_sources_userFcn) $(dict_cpp_sources_userFcn)
pkgconfig_DATA = PMusr.pc 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

View File

@ -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}

View File

@ -39,7 +39,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core
lib_LTLIBRARIES = libPMagProximityFitter.la lib_LTLIBRARIES = libPMagProximityFitter.la
libPMagProximityFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...

View File

@ -39,7 +39,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core
lib_LTLIBRARIES = libPNL_PippardFitter.la lib_LTLIBRARIES = libPNL_PippardFitter.la
libPNL_PippardFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...

View File

@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core
lib_LTLIBRARIES = libCalcMeanFieldsLEM.la lib_LTLIBRARIES = libCalcMeanFieldsLEM.la
libCalcMeanFieldsLEM_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...

View File

@ -50,7 +50,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ ../include/*~ core
lib_LTLIBRARIES = libFitPofB.la lib_LTLIBRARIES = libFitPofB.la
libFitPofB_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...

View File

@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core
lib_LTLIBRARIES = libGapIntegrals.la lib_LTLIBRARIES = libGapIntegrals.la
libGapIntegrals_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...

View File

@ -32,7 +32,7 @@ CLEANFILES = *Dict.cpp *Dict.h *~ core
lib_LTLIBRARIES = libLFRelaxation.la lib_LTLIBRARIES = libLFRelaxation.la
libLFRelaxation_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) 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) 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... ## For the moment do not build pkgconfig files for musrfit plug-ins...