diff --git a/libmuscle/cpp/build/Makefile b/libmuscle/cpp/build/Makefile index 910e4854..c6cdcbd6 100644 --- a/libmuscle/cpp/build/Makefile +++ b/libmuscle/cpp/build/Makefile @@ -27,10 +27,10 @@ distclean: # Find dependencies or set up build -dep_name := msgpack -dep_version_constraint := >= 3.2.0 -dep_version := 3.2.0 -dep_pkgconfig_name := msgpack +dep_name := messagepack +dep_version_constraint := >= 7.0.0 +dep_version := 7.0.0 +dep_pkgconfig_name := msgpack-cxx dep_install := 1 include $(TOOLDIR)/make_available.make @@ -46,7 +46,7 @@ include $(TOOLDIR)/make_available.make DEP_DIRS += $(CURDIR)/msgpack/msgpack export DEP_DIRS -PKG_CONFIG_EXTRA_DIRS := $(PKG_CONFIG_EXTRA_DIRS):$(CURDIR)/msgpack/msgpack/lib/pkgconfig +PKG_CONFIG_EXTRA_DIRS := $(PKG_CONFIG_EXTRA_DIRS):$(CURDIR)/msgpack/lib/pkgconfig export PKG_CONFIG_EXTRA_DIRS diff --git a/libmuscle/cpp/build/libmuscle/Makefile b/libmuscle/cpp/build/libmuscle/Makefile index 71860ac7..89d5af61 100644 --- a/libmuscle/cpp/build/libmuscle/Makefile +++ b/libmuscle/cpp/build/libmuscle/Makefile @@ -76,7 +76,7 @@ endif installed_pkg_config_files := $(pkg_config_files:%=$(PREFIX)/lib/pkgconfig/%) -CXXFLAGS += -Wall -pedantic -std=c++14 -pthread -O3 +CXXFLAGS += -Wall -pedantic -std=c++14 -pthread -O3 -DMSGPACK_NO_BOOST export CXXFLAGS MPIFLAGS := -DMUSCLE_ENABLE_MPI @@ -136,10 +136,12 @@ install: all $(installed_headers) $(installed_pkg_config_files) -install_name_tool -change libymmsl.dylib @loader_path/libymmsl.dylib $(PREFIX)/lib/libmuscle_d.dylib -install_name_tool -change libymmsl.dylib @loader_path/libymmsl.dylib $(PREFIX)/lib/libmuscle_mpi.dylib -install_name_tool -change libymmsl.dylib @loader_path/libymmsl.dylib $(PREFIX)/lib/libmuscle_mpi_d.dylib - install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle.dylib - -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_d.dylib - -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_mpi.dylib - -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_mpi_d.dylib + + # Not needed for MessagePack 7.0.0 + # install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle.dylib + # -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_d.dylib + # -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_mpi.dylib + # -install_name_tool -change @rpath/libmsgpackc.2.dylib @loader_path/libmsgpackc.2.dylib $(PREFIX)/lib/libmuscle_mpi_d.dylib @mkdir -p $(PREFIX)/bin sed -e 's@%PREFIX%@$(PREFIX)@g' muscle3.env.in >$(PREFIX)/bin/muscle3.env for pc in $(PREFIX)/lib/pkgconfig/* ; do sed -i -e 's@^prefix=.*$$@prefix=$(PREFIX)@' $$pc ; done @@ -152,11 +154,14 @@ ifeq "$(filter $(MAKECMDGOALS),$(cleantargets))" "" # Dependencies $(info pcextra: $(PKG_CONFIG_EXTRA_DIRS)) -CXXFLAGS += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_EXTRA_DIRS):$(PKG_CONFIG_PATH) ; pkg-config --cflags msgpack) +# MSGPACK_FLAGS := $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_EXTRA_DIRS):$(PKG_CONFIG_PATH) ; pkg-config --cflags msgpack-cxx) +MSGPACK_INCLUDE_DIR = $(CURDIR)/../msgpack/msgpack/include +export MSGPACK_INCLUDE_DIR +CXXFLAGS += -I$(MSGPACK_INCLUDE_DIR) LDFLAGS2 = $(LDFLAGS) LDFLAGS2 += -pthread -L$(CURDIR)/../ymmsl -lymmsl -LDFLAGS2 += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_EXTRA_DIRS):$(PKG_CONFIG_PATH) ; pkg-config --libs msgpack) +# LDFLAGS2 += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_EXTRA_DIRS):$(PKG_CONFIG_PATH) ; pkg-config --libs msgpack-cxx-cxx) # Automatic header dependencies -include $(deps) @@ -284,9 +289,9 @@ libmuscle.pc: @echo 'URL: https://muscle3.readthedocs.io' >>$@ @echo 'Version: $(muscle_version)' >>$@ @echo 'Requires: ymmsl = $(muscle_version)' >>$@ - @echo 'Requires.private: msgpack >= 3.1.0' >>$@ - @echo 'Cflags: -I$${includedir} -pthread' >>$@ - @echo 'Cflags.private: -pthread' >>$@ + @echo 'Requires.private:' >>$@ + @echo 'Cflags: -I$${includedir} -pthread -DMSGPACK_NO_BOOST' >>$@ + @echo 'Cflags.private: -pthread -DMSGPACK_NO_BOOST' >>$@ @echo 'Libs: -L$${libdir} -lmuscle' >>$@ @echo 'Libs.private: -pthread' >>$@ @@ -301,8 +306,8 @@ libmuscle_mpi.pc: @echo 'URL: https://muscle3.readthedocs.io' >>$@ @echo 'Version: $(muscle_version)' >>$@ @echo 'Requires: ymmsl = $(muscle_version)' >>$@ - @echo 'Requires.private: msgpack >= 3.1.0' >>$@ - @echo 'Cflags: -I$${includedir} -pthread -DMUSCLE_ENABLE_MPI' >>$@ - @echo 'Cflags.private: -pthread' >>$@ + @echo 'Requires.private:' >>$@ + @echo 'Cflags: -I$${includedir} -pthread -DMUSCLE_ENABLE_MPI -DMSGPACK_NO_BOOST' >>$@ + @echo 'Cflags.private: -pthread -DMSGPACK_NO_BOOST' >>$@ @echo 'Libs: -L$${libdir} -lmuscle_mpi' >>$@ @echo 'Libs.private: -pthread' >>$@ diff --git a/libmuscle/cpp/build/libmuscle/tests/Makefile b/libmuscle/cpp/build/libmuscle/tests/Makefile index 387dea44..05afad61 100644 --- a/libmuscle/cpp/build/libmuscle/tests/Makefile +++ b/libmuscle/cpp/build/libmuscle/tests/Makefile @@ -47,14 +47,15 @@ ifeq "$(filter $(MAKECMDGOALS),$(cleantargets))" "" EXTRA_LINK_DIRS := $(foreach DIR,$(DEP_DIRS),-Wl,-rpath,$(DIR)/lib) CXXFLAGS += -I$(libmuscle_testdir) -isystem $(googletest_ROOT)/include -pthread -CXXFLAGS += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PKG_CONFIG_EXTRA_DIRS) ; pkg-config --cflags msgpack) +# CXXFLAGS += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PKG_CONFIG_EXTRA_DIRS) ; pkg-config --cflags msgpack) # Keep this line anyways, may need it +CXXFLAGS += -I$(MSGPACK_INCLUDE_DIR) CXXFLAGS += -DTESTING $(DEBUGFLAGS) LDFLAGS += $(CURDIR)/../libmuscle_d.a $(CURDIR)/../../ymmsl/libymmsl_d.a LDFLAGS += $(googletest_LIB) -pthread LDFLAGS2 := $(LDFLAGS) -LDFLAGS2 += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PKG_CONFIG_EXTRA_DIRS) ; pkg-config --libs msgpack) +# LDFLAGS2 += $(shell export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PKG_CONFIG_EXTRA_DIRS) ; pkg-config --libs msgpack) LDFLAGS2 += $(EXTRA_LINK_DIRS) -include $(deps) diff --git a/libmuscle/cpp/build/msgpack/Makefile b/libmuscle/cpp/build/msgpack/Makefile index 3ad756a0..5c3b6047 100644 --- a/libmuscle/cpp/build/msgpack/Makefile +++ b/libmuscle/cpp/build/msgpack/Makefile @@ -3,8 +3,8 @@ all: msgpack .PHONY: install install: msgpack - mkdir -p $(PREFIX)/lib - cp -a msgpack/lib/* $(PREFIX)/lib/ + # mkdir -p $(PREFIX)/lib + # cp -a msgpack/lib/* $(PREFIX)/lib/ # Commented: MessagePack 7.0.0 is header-only mkdir -p $(PREFIX)/include cp -a msgpack/include/* $(PREFIX)/include/ @@ -17,28 +17,29 @@ distclean: clean rm -rf $$(find . -type d -name 'msgpack-*') rm -rf msgpack -MSGPACK_LIB=$(CURDIR)/msgpack/lib/libmsgpackc.a -MSGPACK_SRC=$(CURDIR)/msgpack-$(msgpack_VERSION)/ChangeLog +# MSGPACK_LIB=$(CURDIR)/msgpack/lib/libmsgpackc.a # Commented: MessagePack 7.0.0 is header-only +MSGPACK_INCLUDE_DIR=$(CURDIR)/msgpack/include +MSGPACK_SRC=$(CURDIR)/msgpack-cxx-$(msgpack_VERSION)/ChangeLog -msgpack-$(msgpack_VERSION).tar.gz: - $(DOWNLOAD) https://github.com/msgpack/msgpack-c/releases/download/cpp-$(msgpack_VERSION)/msgpack-$(msgpack_VERSION).tar.gz +msgpack-cxx-$(msgpack_VERSION).tar.gz: + $(DOWNLOAD) https://github.com/msgpack/msgpack-c/releases/download/cpp-$(msgpack_VERSION)/msgpack-cxx-$(msgpack_VERSION).tar.gz -$(MSGPACK_SRC): msgpack-$(msgpack_VERSION).tar.gz - $(TAR) xf msgpack-$(msgpack_VERSION).tar.gz -m +$(MSGPACK_SRC): msgpack-cxx-$(msgpack_VERSION).tar.gz + $(TAR) xf msgpack-cxx-$(msgpack_VERSION).tar.gz -m -$(MSGPACK_LIB): $(MSGPACK_SRC) - cd msgpack-$(msgpack_VERSION) && rm -rf build && mkdir -p build && cd build && \ +$(MSGPACK_INCLUDE_DIR): $(MSGPACK_SRC) + cd msgpack-cxx-$(msgpack_VERSION) && rm -rf build && mkdir -p build && cd build && \ export PKG_CONFIG_PATH=$(PKG_CONFIG_PATH):$(PKG_CONFIG_EXTRA_DIRS) && \ - cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_INSTALL_PREFIX=$(CURDIR)/msgpack -DMSGPACK_CXX11=ON -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF .. && \ + cmake -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DMSGPACK_USE_BOOST=OFF -DCMAKE_INSTALL_PREFIX=$(CURDIR)/msgpack -DMSGPACK_CXX11=ON -DMSGPACK_BUILD_EXAMPLES=OFF -DMSGPACK_BUILD_TESTS=OFF .. && \ $(MAKE) -j $(NCORES) && make install ifdef MUSCLE_LINUX -msgpack: $(MSGPACK_LIB) +msgpack: $(MSGPACK_INCLUDE_DIR) else ifdef MUSCLE_MACOS -msgpack: $(MSGPACK_LIB) - install_name_tool -id $(CURDIR)/msgpack/lib/libmsgpackc.dylib $(CURDIR)/msgpack/lib/libmsgpackc.dylib +msgpack: $(MSGPACK_INCLUDE_DIR) + # install_name_tool -id $(CURDIR)/msgpack/lib/libmsgpackc.dylib $(CURDIR)/msgpack/lib/libmsgpackc.dylib endif diff --git a/libmuscle/cpp/src/libmuscle/data.cpp b/libmuscle/cpp/src/libmuscle/data.cpp index 66920350..9c13f339 100644 --- a/libmuscle/cpp/src/libmuscle/data.cpp +++ b/libmuscle/cpp/src/libmuscle/data.cpp @@ -1097,5 +1097,4 @@ DataConstRef DataConstRef::grid_data_( } } -} } // namespace libmuscle::_MUSCLE_IMPL_NS - +} } // namespace libmuscle::_MUSCLE_IMPL_NS \ No newline at end of file diff --git a/libmuscle/cpp/src/libmuscle/mpp_message.cpp b/libmuscle/cpp/src/libmuscle/mpp_message.cpp index 71b6a644..fb3bc944 100644 --- a/libmuscle/cpp/src/libmuscle/mpp_message.cpp +++ b/libmuscle/cpp/src/libmuscle/mpp_message.cpp @@ -109,4 +109,3 @@ DataConstRef MPPMessage::as_dict_() const { } } } - diff --git a/libmuscle/cpp/src/libmuscle/tests/test_communicator.cpp b/libmuscle/cpp/src/libmuscle/tests/test_communicator.cpp index c20dfbdc..1ab32d7a 100644 --- a/libmuscle/cpp/src/libmuscle/tests/test_communicator.cpp +++ b/libmuscle/cpp/src/libmuscle/tests/test_communicator.cpp @@ -385,4 +385,3 @@ TEST_F(libmuscle_communicator2, test_shutdown) { ASSERT_TRUE(expected_receivers.empty()); } -