diff --git a/CHANGES/v2.4.md b/CHANGES/v2.4.md index 8d1c091150562036ccf3f3cd810bae971de7e6dc..8bb4723f726e8c4fcbe5e82a01d6d138bb22ff73 100644 --- a/CHANGES/v2.4.md +++ b/CHANGES/v2.4.md @@ -101,3 +101,4 @@ Fixes after alpha release: - \ref CUSTOM function has been added as an alias to \ref MATHEVAL . - (developers): `configure.ac` has been simplified and improved in order to more easily probe C++ libraries. - (developers): added `plumed_custom_skip` function to regtests in order to skip specific tests based on specific conditions (e.g. OS). + - (developers): environment variable `LDSO` has been renamed to `LDSHARED`, which is standard in the python community. diff --git a/Makefile.conf.in b/Makefile.conf.in index 9059e0c269af3cee4543fdb860baec7c70b0f989..d89263b98b902bec660b1de86912ef9d7f3c48d4 100644 --- a/Makefile.conf.in +++ b/Makefile.conf.in @@ -11,7 +11,7 @@ DYNAMIC_LIBS=@LIBS@ @LDFLAGS@ @OPENMP_CXXFLAGS@ LIBS=@STATIC_LIBS@ SOEXT=@SOEXT@ LD=@LD@ -LDSO=@LDSO@ +LDSHARED=@LDSHARED@ GCCDEP=@CXX@ disable_dependency_tracking=@disable_dependency_tracking@ prefix=@prefix@ diff --git a/configure b/configure index 971a7188e8dedef4a2c608f90c3eb9e66a6cf7bd..c6f50ba766ad79946885a99b31317a7591a8c47a 100755 --- a/configure +++ b/configure @@ -652,7 +652,7 @@ CPPFLAGS LDFLAGS CXXFLAGS CXX -LDSO +LDSHARED STATIC_LIBS SOEXT target_alias @@ -734,7 +734,7 @@ host_alias target_alias SOEXT STATIC_LIBS -LDSO +LDSHARED CXX CXXFLAGS LDFLAGS @@ -1405,7 +1405,7 @@ Some influential environment variables: SOEXT extension of dynamic libraries (so/dylib) STATIC_LIBS variables that should be linked statically directly to MD code - configure will add here -ldl if necessary - LDSO command for linking shared library - configure will use CXX plus + LDSHARED command for linking shared library - configure will use CXX plus the proper flags CXX C++ compiler command CXXFLAGS C++ compiler flags @@ -4279,7 +4279,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # log the initial flags LD="$CXX" -LDSO="$CXX" +LDSHARED="$CXX" { $as_echo "$as_me:${as_lineno-$LINENO}: Initial CXX: $CXX" >&5 $as_echo "$as_me: Initial CXX: $CXX" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Initial CXXFLAGS: $CXXFLAGS" >&5 @@ -4296,8 +4296,8 @@ $as_echo "$as_me: Initial LIBS: $LIBS" >&6;} $as_echo "$as_me: Initial STATIC_LIBS: $STATIC_LIBS" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Initial LD: $LD" >&5 $as_echo "$as_me: Initial LD: $LD" >&6;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: Initial LDSO: $LDSO" >&5 -$as_echo "$as_me: Initial LDSO: $LDSO" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Initial LDSHARED: $LDSHARED" >&5 +$as_echo "$as_me: Initial LDSHARED: $LDSHARED" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Initial SOEXT: $SOEXT" >&5 $as_echo "$as_me: Initial SOEXT: $SOEXT" >&6;} @@ -8292,10 +8292,10 @@ if test "$shared" == true ; then $as_echo "$as_me: *** Special settings for dynamic libraries on OSX ***" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Dynamic library extension is 'dylib'" >&5 $as_echo "$as_me: Dynamic library extension is 'dylib'" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: LDSO needs special flags" >&5 -$as_echo "$as_me: LDSO needs special flags" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDSHARED needs special flags" >&5 +$as_echo "$as_me: LDSHARED needs special flags" >&6;} SOEXT=dylib - LDSO="$LDSO -undefined suppress -flat_namespace -dynamiclib -Wl,-headerpad_max_install_names" + LDSHARED="$LDSHARED -undefined suppress -flat_namespace -dynamiclib -Wl,-headerpad_max_install_names" if test "$rpath" = true ; then { $as_echo "$as_me:${as_lineno-$LINENO}: Switching off rpath on OSX" >&5 $as_echo "$as_me: Switching off rpath on OSX" >&6;} @@ -8307,10 +8307,10 @@ $as_echo "$as_me: Switching off rpath on OSX" >&6;} $as_echo "$as_me: *** Special settings for dynamic libraries on Linux ***" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Dynamic library extension is 'so'" >&5 $as_echo "$as_me: Dynamic library extension is 'so'" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: LDSO and LDFLAGS need special flags" >&5 -$as_echo "$as_me: LDSO and LDFLAGS need special flags" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: LDSHARED and LDFLAGS need special flags" >&5 +$as_echo "$as_me: LDSHARED and LDFLAGS need special flags" >&6;} SOEXT=so - LDSO="$LDSO -shared" + LDSHARED="$LDSHARED -shared" save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -rdynamic" @@ -8347,16 +8347,16 @@ fi # check linking of runtime library if test -n "$SOEXT" then - { $as_echo "$as_me:${as_lineno-$LINENO}: Using LDSO='$LDSO'" >&5 -$as_echo "$as_me: Using LDSO='$LDSO'" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: Using LDSHARED='$LDSHARED'" >&5 +$as_echo "$as_me: Using LDSHARED='$LDSHARED'" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: Using LDFLAGS='$LDFLAGS'" >&5 $as_echo "$as_me: Using LDFLAGS='$LDFLAGS'" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether LDSO can create dynamic libraries" >&5 -$as_echo_n "checking whether LDSO can create dynamic libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether LDSHARED can create dynamic libraries" >&5 +$as_echo_n "checking whether LDSHARED can create dynamic libraries... " >&6; } rm -f conftest.* echo "void f(void){ return;}" > conftest.cpp $CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp 1>/dev/null 2>/dev/null - $LDSO $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null + $LDSHARED $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null if test -f conftest.$SOEXT then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -8409,10 +8409,10 @@ fi if test "$readelf" == found ; then - test_LDSO="$LDSO -Wl,-R -Wl,/some/random/dir/" - $test_LDSO $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null + test_LDSHARED="$LDSHARED -Wl,-R -Wl,/some/random/dir/" + $test_LDSHARED $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null if readelf -d conftest.$SOEXT | grep RPATH | grep -q /some/random/dir ; then - LDSO="$LDSO -Wl,-R -Wl,\"$LIBRARY_PATH\"" + LDSHARED="$LDSHARED -Wl,-R -Wl,\"$LIBRARY_PATH\"" else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -R option seems not working, disabling rpath" >&5 $as_echo "$as_me: WARNING: -R option seems not working, disabling rpath" >&2;} diff --git a/configure.ac b/configure.ac index 5b580c56cf82d4ae2d4bd5198cac14758675a4ef..0757ab46ab4013638fac560a50ab8078554dd157 100644 --- a/configure.ac +++ b/configure.ac @@ -253,7 +253,7 @@ PLUMED_CONFIG_ENABLE([python],[search for python],[yes]) AC_ARG_VAR(SOEXT,[extension of dynamic libraries (so/dylib)]) AC_ARG_VAR(STATIC_LIBS,[variables that should be linked statically directly to MD code - configure will add here -ldl if necessary ]) -AC_ARG_VAR(LDSO,[command for linking shared library - configure will use CXX plus the proper flags ]) +AC_ARG_VAR(LDSHARED,[command for linking shared library - configure will use CXX plus the proper flags ]) # by default use -O flag @@ -292,7 +292,7 @@ AC_LANG(C++) # log the initial flags LD="$CXX" -LDSO="$CXX" +LDSHARED="$CXX" AC_MSG_NOTICE([Initial CXX: $CXX]) AC_MSG_NOTICE([Initial CXXFLAGS: $CXXFLAGS]) AC_MSG_NOTICE([Initial CPPFLAGS: $CPPFLAGS]) @@ -301,7 +301,7 @@ AC_MSG_NOTICE([Initial LDFLAGS: $LDFLAGS]) AC_MSG_NOTICE([Initial LIBS: $LIBS]) AC_MSG_NOTICE([Initial STATIC_LIBS: $STATIC_LIBS]) AC_MSG_NOTICE([Initial LD: $LD]) -AC_MSG_NOTICE([Initial LDSO: $LDSO]) +AC_MSG_NOTICE([Initial LDSHARED: $LDSHARED]) AC_MSG_NOTICE([Initial SOEXT: $SOEXT]) # check C++ flags @@ -669,7 +669,7 @@ AC_DEFINE([_REENTRANT]) #### Options for dynamic library to work properly #### AC_SUBST(SOEXT) AC_SUBST(LD) -AC_SUBST(LDSO) +AC_SUBST(LDSHARED) # these are libraries that should be linked also to MD engines AC_SUBST(STATIC_LIBS) @@ -678,9 +678,9 @@ if test "$shared" == true ; then (Darwin) AC_MSG_NOTICE([*** Special settings for dynamic libraries on OSX ***]) AC_MSG_NOTICE([Dynamic library extension is 'dylib']) - AC_MSG_NOTICE([LDSO needs special flags]) + AC_MSG_NOTICE([LDSHARED needs special flags]) SOEXT=dylib - LDSO="$LDSO -undefined suppress -flat_namespace -dynamiclib -Wl,-headerpad_max_install_names" + LDSHARED="$LDSHARED -undefined suppress -flat_namespace -dynamiclib -Wl,-headerpad_max_install_names" if test "$rpath" = true ; then AC_MSG_NOTICE([Switching off rpath on OSX]) rpath=false @@ -689,9 +689,9 @@ if test "$shared" == true ; then (Linux) AC_MSG_NOTICE([*** Special settings for dynamic libraries on Linux ***]) AC_MSG_NOTICE([Dynamic library extension is 'so']) - AC_MSG_NOTICE([LDSO and LDFLAGS need special flags]) + AC_MSG_NOTICE([LDSHARED and LDFLAGS need special flags]) SOEXT=so - LDSO="$LDSO -shared" + LDSHARED="$LDSHARED -shared" PLUMED_CHECK_LDFLAGS([-rdynamic]) ;; (*) @@ -702,13 +702,13 @@ fi # check linking of runtime library if test -n "$SOEXT" then - AC_MSG_NOTICE([Using LDSO='$LDSO']) + AC_MSG_NOTICE([Using LDSHARED='$LDSHARED']) AC_MSG_NOTICE([Using LDFLAGS='$LDFLAGS']) - AC_MSG_CHECKING([whether LDSO can create dynamic libraries]) + AC_MSG_CHECKING([whether LDSHARED can create dynamic libraries]) rm -f conftest.* echo "void f(void){ return;}" > conftest.cpp $CXX $CXXFLAGS $CPPFLAGS -c conftest.cpp 1>/dev/null 2>/dev/null - $LDSO $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null + $LDSHARED $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null if test -f conftest.$SOEXT then AC_MSG_RESULT([yes]) @@ -722,10 +722,10 @@ then readelf="" AC_CHECK_PROG([readelf],[readelf],[found]) if test "$readelf" == found ; then - test_LDSO="$LDSO -Wl,-R -Wl,/some/random/dir/" - $test_LDSO $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null + test_LDSHARED="$LDSHARED -Wl,-R -Wl,/some/random/dir/" + $test_LDSHARED $LDFLAGS conftest.o -o conftest.$SOEXT 1>/dev/null 2>/dev/null if readelf -d conftest.$SOEXT | grep RPATH | grep -q /some/random/dir ; then - LDSO="$LDSO -Wl,-R -Wl,\"$LIBRARY_PATH\"" + LDSHARED="$LDSHARED -Wl,-R -Wl,\"$LIBRARY_PATH\"" else AC_MSG_WARN([-R option seems not working, disabling rpath]) fi diff --git a/python/buildPythonInterface.py b/python/buildPythonInterface.py index 72e853f6985197cde1b55e31b270781df2a5378e..8086f778cd969b3bb1f124beff1e9e9d28c3aa9b 100644 --- a/python/buildPythonInterface.py +++ b/python/buildPythonInterface.py @@ -56,7 +56,7 @@ plumedconfig = subprocess.check_output([plumedexe, 'info', '--configuration']).d for line in plumedconfig : if "CC=" in line : os.environ["CC"] = line.replace("CC=","").replace("\n","") if "CXX=" in line : os.environ["CXX"] = line.replace("CXX=","").replace("\n","") - if "LDSO=" in line : os.environ["LDSHARED"] = line.replace("LDSO=","").replace("\n","") + if "LDSHARED=" in line : os.environ["LDSHARED"] = line.replace("LDSHARED=","").replace("\n","") print( "Building interface using CC=" + os.environ["CC"] + " , CXX=" + os.environ["CXX"] + " and LDSHARED=" + os.environ["LDSHARED"] ) diff --git a/src/config/Makefile b/src/config/Makefile index 07815034217b9f6ddb0cff505cbd8b1e76cd4ed2..b023915890f6b36f8ae27b768420d68bc535842b 100644 --- a/src/config/Makefile +++ b/src/config/Makefile @@ -67,7 +67,7 @@ Makefile.conf.xxd: ../../Makefile.conf compile_options.sh: @echo Building compile_options.sh, a sourceable bash script with some compilation options @echo "compile='"$(CXX) -c -I'"$$PLUMED_INCLUDEDIR/$$PLUMED_PROGRAM_NAME"'/ $(CPPFLAGS) $(CXXFLAGS) -o"'" > $@ - @echo "link='"$(LDSO) $(DYNAMIC_LIBS) -o"'" >> $@ + @echo "link='"$(LDSHARED) $(DYNAMIC_LIBS) -o"'" >> $@ @echo "soext='"$(SOEXT)"'" >> $@ .PHONY: clean diff --git a/src/lib/Makefile b/src/lib/Makefile index b27f65adc0c8f734588205280fc93a7ee74a9a73..72ebfe1e7500719194b5d57f27828dab1f659781 100644 --- a/src/lib/Makefile +++ b/src/lib/Makefile @@ -330,17 +330,17 @@ endif $(PLUMED_KERNEL):$(OBJ_KERNEL) ifeq ($(PLUMED_INSTALL),Install) mkdir -p install - cd install && $(LDSO) -o libplumedKernel.$(SOEXT) $(addprefix ../,$(OBJ_KERNEL)) $(DYNAMIC_LIBS) + cd install && $(LDSHARED) -o libplumedKernel.$(SOEXT) $(addprefix ../,$(OBJ_KERNEL)) $(DYNAMIC_LIBS) else - $(LDSO) -o $@ $^ $(DYNAMIC_LIBS) + $(LDSHARED) -o $@ $^ $(DYNAMIC_LIBS) endif $(PLUMED_SHARED_OBJ): $(OBJ_KERNEL) $(OBJ_WRAPPER) ifeq ($(PLUMED_INSTALL),Install) mkdir -p install - cd install && $(LDSO) -o libplumed.$(SOEXT) $(addprefix ../,$(OBJ_KERNEL)) $(addprefix ../,$(OBJ_WRAPPER)) $(DYNAMIC_LIBS) + cd install && $(LDSHARED) -o libplumed.$(SOEXT) $(addprefix ../,$(OBJ_KERNEL)) $(addprefix ../,$(OBJ_WRAPPER)) $(DYNAMIC_LIBS) else - $(LDSO) -o $@ $^ $(DYNAMIC_LIBS) + $(LDSHARED) -o $@ $^ $(DYNAMIC_LIBS) endif $(PLUMED_MAIN_STATIC): $(OBJ_MAIN) $(OBJ_KERNEL) $(OBJ_WRAPPER)