diff --git a/app/Makefile.am b/app/Makefile.am index d1ac609117afb73965736d8cdb9e81cafc4c5f7a..3b4b919d1b2ddce7306ff2633cb726f3d25905f5 100644 --- a/app/Makefile.am +++ b/app/Makefile.am @@ -35,3 +35,18 @@ clean-local: clean-local-dirs .PHONY: clean-local-dirs clean-local-dirs: -rm -rf *.dSYM + +# overrides to make regular compilations also use libtool +COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +FCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(AM_FCFLAGS) $(FCFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ diff --git a/examples/Makefile.am b/examples/Makefile.am index cad9a8acdc10de00488b85688a40fd1de2c04195..815912289b993806e520b622b11d462091ecb4a5 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -50,3 +50,17 @@ clean-local: clean-local-dirs .PHONY: clean-local-dirs clean-local-dirs: -rm -rf *.dSYM + +# overrides to make regular compilations also use libtool +# static because the libtool libraries in this directory are meant to +# be statically linked and there is no use for the PIC object +COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +FCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(AM_FCFLAGS) $(FCFLAGS) +CXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) diff --git a/examples/pio/Makefile.am b/examples/pio/Makefile.am index 79aed15491a34433bdb6b37d5000170723a2424a..b00a5a15f4cb3d49a0b690bf9a987fb29a495510 100644 --- a/examples/pio/Makefile.am +++ b/examples/pio/Makefile.am @@ -33,3 +33,21 @@ clean-local: clean-local-dirs .PHONY: clean-local-dirs clean-local-dirs: -rm -rf *.dSYM + +# overrides to make regular compilations also use libtool +# static because the libtool libraries in this directory are meant to +# be statically linked and there is no use for the PIC object +COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +FCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(AM_FCFLAGS) $(FCFLAGS) +CXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +PPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_FCFLAGS) $(FCFLAGS) diff --git a/interfaces/Makefile.am b/interfaces/Makefile.am index c8a56799c19de08035f347d5e51dcc231bd69540..f219e7c51d5d938c0bedf557ed0c2838ffa32b56 100644 --- a/interfaces/Makefile.am +++ b/interfaces/Makefile.am @@ -35,11 +35,10 @@ locallibs = $(abs_top_builddir)/src/.libs/libcdi.so @LTLIBOBJS@ @NETCDF_LIBS@ @S libcdipp_la_SOURCES = cdi.cpp cdi.hpp libcdipp_la_LIBADD = $(top_builddir)/src/libcdi.la -libcdipp_la_LDFLAGS = @NETCDF_LIBS@ @SZLIB_LIBS@ $(LDFLAGS) +AM_LDFLAGS = @NETCDF_LIBS@ @SZLIB_LIBS@ $(LDFLAGS) CdiInfo_SOURCES = CdiInfo.cpp CdiInfo_LDADD = libcdipp.la -CdiInfo_LDFLAGS = @NETCDF_LIBS@ @SZLIB_LIBS@ $(LDFLAGS) mulval.nc: $(abs_top_srcdir)/interfaces/mulval.nc.gz gunzip -c $< > $@ @@ -97,3 +96,15 @@ all-local: $(BINDINGS) test: $(BINDING_TESTS) # CLEANFILES += `ls *~ *.o *.la` + +# overrides to make regular compilations also use libtool +COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +FCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(AM_FCFLAGS) $(FCFLAGS) +CXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) diff --git a/tests/Makefile.am b/tests/Makefile.am index 4a3456ce377f9961ab98438eebda3de910fd901c..eff281acd559be8d8fc8192bc53b71ce04835f9d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -52,7 +52,7 @@ pio_write_deco2d_SOURCES = pio_write.c pio_write.h deco2d_model.c \ pio_write_setup_grid.h pio_write_setup_grid.c test_resource_copy_SOURCES = test_resource_copy.c test_resource_copy_LDADD = ../src/libcdiresunpack.la $(LDADD) -test_resource_copy_mpi_SOURCES = test_resource_copy.c +test_resource_copy_mpi_SOURCES = test_resource_copy_mpi.c test_cdf_write_SOURCES = test_cdf_write.c \ simple_model_helper.h simple_model_helper.c test_cdf_read_SOURCES = test_cdf_read.c @@ -66,8 +66,6 @@ pio_write_deco2d_LDADD = ../src/libcdipio.la ../src/libcdi.la $(PPM_CORE_LIBS) $ TESTS += test_resource_copy_mpi_run check_PROGRAMS += test_resource_copy_mpi test_resource_copy_mpi_LDADD = ../src/libcdipio.la ../src/libcdi.la $(UUID_C_LIB) -test_resource_copy_mpi_CPPFLAGS = $(AM_CPPFLAGS) $(CPPFLAGS) \ - -DMPI_MARSHALLING else pio_write_LDADD = $(LDADD) pio_write_deco2d_LDADD = $(LDADD) @@ -87,3 +85,21 @@ clean-local: clean-local-dirs .PHONY: clean-local-dirs clean-local-dirs: -rm -rf test_cdf_const.d *.dSYM + +# overrides to make regular compilations also use libtool +# static because the libtool libraries in this directory are meant to +# be statically linked and there is no use for the PIC object +COMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +FCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(AM_FCFLAGS) $(FCFLAGS) +CXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +PPFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(FC) -static $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_FCFLAGS) $(FCFLAGS) diff --git a/tests/test_resource_copy_mpi.c b/tests/test_resource_copy_mpi.c new file mode 100644 index 0000000000000000000000000000000000000000..4c6679fde657656cdd87a16d9fe380c5fee4d8cd --- /dev/null +++ b/tests/test_resource_copy_mpi.c @@ -0,0 +1,2 @@ +#define MPI_MARSHALLING +#include "test_resource_copy.c"