X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=m4%2Fsxe-linker.m4;h=aaef8665d7dce63eda8d4e560526bd2d1263e123;hb=d7ffc361167a55f4f608f69f4597072c361daf75;hp=8b30b0561ab2c70d151b81dfa50322a5f7632c47;hpb=c879e5b17b3d5fef34ab58fc66e1cbb4269e5bb4;p=sxemacs diff --git a/m4/sxe-linker.m4 b/m4/sxe-linker.m4 index 8b30b05..aaef866 100644 --- a/m4/sxe-linker.m4 +++ b/m4/sxe-linker.m4 @@ -1,605 +1,81 @@ dnl sxe-linker.m4 -- Linker stuff, esp. dynamic linking dnl needed for emodules for one -dnl that's a too fucking long thing, split it! -AC_DEFUN([SXE_SHLIB_STUFF],[ -dll_ld= -dll_ldflags= -dll_cflags= -dll_post= -dll_ldo="-o" -ld_dynamic_link_flags= -xehost=$ac_cv_build -xealias=$ac_cv_build_alias - -AC_MSG_CHECKING([how to build dynamic libraries for ${xehost}]) -AC_MSG_RESULT([]) -# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. -case "$xehost" in -*-*-linux-gnu*) ;; -*-*-linux*) xehost=`echo $xehost | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` -esac - -xehost_cpu=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'` -xehost_vendor=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'` -xehost_os=`echo $xehost | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'` - -case "$xehost_os" in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "${COLLECT_NAMES+set}" != set; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Now see if the compiler is really GCC. -if test "$GCC" = "yes"; then - XEGCC=yes -else - AC_MSG_CHECKING([whether we are using GNU C]) - AC_EGREP_CPP(yes,[ -#ifdef __GNUC__ - yes; -#endif -],XEGCC=yes, XEGCC=no) - AC_MSG_RESULT([${XEGCC}]) -fi - -AC_MSG_CHECKING([how to produce PIC code]) -wl= - -can_build_shared=yes -if test "$XEGCC" = yes -o "$__ICC" = yes; then - wl='-Wl,' - - case "$xehost_os" in - aix[[3-9]]* | irix[[5-9]]* | osf[[3-9]]) - # PIC is the default for these OSes. - ;; - - *darwin*) dll_cflags='-dynamic' - ;; - - os2*) - # We can build DLLs from non-PIC. - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - dll_cflags='-m68020 -resident32 -malways-restore-a4' - ;; - *) - dll_cflags='-fPIC' - ;; - esac -else - # PORTME Check for PIC flags for the system compiler. - case "$xehost_os" in - hpux9* | hpux1[[0-9]]*) - # Is there a better link_static_flag that works with the bundled CC? - wl='-Wl,' - dll_cflags='+Z' - ;; - - irix[[5-9]]*) - wl='-Wl,' - # PIC (with -KPIC) is the default. - ;; - - os2*) - # We can build DLLs from non-PIC. - ;; - - osf[[3-9]]*) - # All OSF/1 code is PIC. - wl='-Wl,' - ;; - - aix[[3-9]]*) - # All AIX code is PIC. - wl='-Wl,' - ;; - - sco3.2v5*) - dll_cflags='-belf -Kpic' - wl='-Wl,' - ;; - - unixware*) - dll_cflags="-KPIC" - wl="-Wl," - ;; - - sysv4*) - dll_cflags="-KPIC" - wl="-Wl," - ;; - - sysv5*) - dll_cflags="-KPIC" - wl="-Wl," - ;; - - solaris2*) - dll_cflags='-KPIC' - wl='-Wl,' - ;; - - sunos4*) - dll_cflags='-PIC' - wl='-Qoption ld ' - ;; - - uts4*) - dll_cflags='-pic' - ;; - - *) - can_build_shared=no - ;; - esac -fi - -if test -n "$dll_cflags"; then - AC_MSG_RESULT([${dll_cflags}]) - - # Check to make sure the dll_cflags actually works. - AC_MSG_CHECKING([if PIC flag ${dll_cflags} really works]) - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $dll_cflags -DPIC" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int x=0;]])],[ - # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also - # reports no error. So, we need to grep stderr for (Bundled). - if grep '(Bundled)' config.log >/dev/null; then - AC_MSG_RESULT(no) - can_build_shared=no - dll_cflags= - else - AC_MSG_RESULT(yes) - fi], [AC_MSG_RESULT(no) - can_build_shared=no - dll_cflags=]) - CFLAGS="$save_CFLAGS" -else - AC_MSG_RESULT(none) -fi - -dnl -dnl Now comes the LD trickery. We do things differently to libtool here. -dnl I believe that libtool is incorrect in trying to drive the linker -dnl directly. This can cause considerable problems if the module you are -dnl compiling has C++ or other static initializers. If we use ld directly, -dnl we don't end up with the crt stuff being linked in, and we don't end up -dnl with any .init or .fini sections (or the moral equivalent thereof). -dnl gcc takes great care to do this properly when invoked in -shared -dnl mode, and we really do want this behavior. Perhaps the libtool folks -dnl are not aware that any SVR4 based dynamic loader will automatically -dnl execute code in the .init section before dlopen() returns. This is -dnl vital, as the module may have been compiled to rely on that behavior. -dnl -dnl So, having said all of that, we diverge from libtool significantly -dnl here. We want to try and use the C compiler as much as possible. Only -dnl if the C compiler itself cannot create shared libraries do we try to -dnl find the linker. -dnl -dnl The other advantage to my scheme is that it removes the dependancy -dnl on a given compiler version remaining static with relation to the -dnl version of XEmacs. With the libtool way, it picks up the linker that -dnl gcc uses, which can be the internal collect2 that comes with gcc. -dnl If the user ever changes their compiler version, the paths will no -dnl longer be correct, and ellcc will break. This is clearly unacceptable. -dnl By using the compiler driver on the path, we don't have this problem. -dnl If that is not clear, consider that gcc -print-prog-name=ld can -dnl produce something along the lines of: -dnl /usr/local/lib/gcc-lib/OS-NAME/GCC-VERSION/ld -dnl If you ever change GCC versions, then that path no longer exists. -dnl -dnl So, we change the check order here. We first check to see if we are -dnl using GCC, and if so, we see if -shared works. If it does, great. -dnl If we are not using gcc, but the system C compiler can produce -dnl shared objects, we try that. Only if all of that fails do we revert -dnl back to the libtool ld trickery. -dnl -dnl We don't do ANY of this if we can't produce shared objects. -dnl -if test "$can_build_shared" = "yes"; then -cc_produces_so=no -xldf= -xcldf= -AC_MSG_CHECKING([if C compiler can produce shared libraries]) -if test "$XEGCC" = "yes" -o "$__ICC" = "yes"; then - case "$xehost_os" in - *darwin*) - xcldf='-bundle' - xldf='-bundle -undefined suppress -flat_namespace' - ;; - *) - xcldf="-shared" - xldf="-shared" - ;; - esac -else # Not using GCC - case "$xehost_os" in - aix[[3-9]]*) - xldf="-bE:ELLSONAME.exp -H512 -T512 -bhalt:4 -bM:SRE -bnoentry -lc" - xcldf="${wl}-bE:ELLSONAME.exp ${wl}-H512 ${wl}-T512 ${wl}-bhalt:4 ${wl}-bM:SRE ${wl}-bnoentry ${wl}-lc" - ;; - - freebsd2* | netbsd* | openbsd*) - xldf="-Bshareable" - xcldf="${wl}-Bshareable" - ;; - - freebsd3*) - xcldf="-shared" - ;; - - hpux*) - xldf="-b +s" - xcldf="${wl}-b ${wl}+s" - ;; - - irix[[5-9]]* | osf[[3-9]]*) - xcldf="${wl}-shared" - xldf="-shared" - ;; - - sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7* | uts4*) - xcldf="-G" - xldf="-G" - ;; - - sunos4*) - xcldf="${wl}-assert ${wl}pure-text ${wl}-Bstatic" - xldf="-assert pure-text -Bstatic" - ;; - esac -fi # End if if we are using gcc - -if test -n "$xcldf"; then - SXE_DUMP_LIBS - LDFLAGS="$xcldf $LDFLAGS" - LIBS= -dnl xe_libs= -dnl ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AS_MESSAGE_LOG_FD' - AC_LINK_IFELSE([AC_LANG_SOURCE([[int x=0;]])], - [cc_produces_so=yes], [cc_produces_so=no]) - SXE_RESTORE_LIBS -dnl ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AS_MESSAGE_LOG_FD' - : -else - cc_produces_so=no -fi -AC_MSG_RESULT([${cc_produces_so}]) - -LTLD=$LD -if test -z "$LTLD"; then - ac_prog=ld - if test "$XEGCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - ac_prog=`($CC -print-prog-name=ld) 2>&5` - case "$ac_prog" in - # Accept absolute paths. - /*) - if test -z "$LTLD"; then -# case "$ac_prog" in -# *gcc-lib*) LTLD="$CC" -# ;; -# *) - LTLD="$ac_prog" -# ;; -# esac - fi - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac - else - AC_MSG_CHECKING([for GNU ld]) - fi - - if test -z "$LTLD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then - LTLD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - if "$LTLD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - xe_gnu_ld=yes - else - xe_gnu_ld=no - fi - fi - done - IFS="$ac_save_ifs" - fi - - if test -n "$LTLD"; then - AC_MSG_RESULT([${LTLD}]) - else - AC_MSG_RESULT(no) - fi - - if test -z "$LTLD" -a "$cc_produces_so" = no; then - AC_MSG_ERROR(no acceptable linker found in \$PATH) - exit 1 - fi -fi - -dnl -dnl Order of the tests changed somewhat to prevent repetition -dnl -ld_dynamic_link_flags= - -# Check to see if it really is or isn't GNU ld. -AC_MSG_CHECKING([if the linker is GNU ld]) -# I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LTLD -v 2>&1 &5; then - xe_gnu_ld=yes -else - xe_gnu_ld=no -fi -AC_MSG_RESULT([${xe_gnu_ld}]) - -case "$xehost_os" in - amigaos* | sunos4*) - # On these operating systems, we should treat GNU ld like the system ld. - gnu_ld_acts_native=yes - ;; - *) - gnu_ld_acts_native=no - ;; -esac - -if test "$cc_produces_so" = "yes"; then - dll_ld=$CC - case "$xehost_os" in - *darwin*) - dnl On Darwin, we test with xcldf, but we use xldf - dll_ldflags=$xldf - ;; - *) - dll_ldflags=$xcldf - ;; - esac - can_build_shared=yes - ld_shlibs=yes -else - # OK - only NOW do we futz about with ld. - # See if the linker supports building shared libraries. - AC_MSG_CHECKING([whether the linker supports shared libraries]) - dll_ld=$CC - dll_ldflags=$LDFLAGS - ld_shlibs=yes - can_build_shared=yes - if test "$xe_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then - # See if GNU ld supports shared libraries. - if $LTLD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - dll_ld=$CC - dll_ldflags="-shared" - ld_shlibs=yes - else - ld_shlibs=no - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case "$xehost_os" in - aix3*) - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - aix[[4-9]]*) - dll_ldflags=$xcldf - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # doesn't break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - dll_ld=$LTLD - dll_ldflags=$xldf - dll_post="/usr/lib/c++rt0.o" - ;; - - # Unfortunately, older versions of FreeBSD 2 don't have this feature. - freebsd2*) - dll_ld=$LTLD - dll_ldflags="-Bshareable" - ;; - - # FreeBSD 3, at last, uses gcc -shared to do shared libraries. - freebsd3*) - dll_ldflags="-shared" - ;; - - hpux*) - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - irix[[5-9]]*) - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - netbsd*) - # Tested with NetBSD 1.2 ld - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - openbsd*) - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - osf3* | osf4*) - dll_ld=$LTLD - dll_ldflags=$xldf - ;; - - # For both SCO and Solaris we MAY want to have LDFLAGS include -z text - sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7*) - dll_ld=$LTLD - case "$dll_ld" in - *gcc*) dll_ldflags="-shared" - dll_ld=$CC - ;; - *) dll_ldflags="-G" - ;; - esac - ;; - - sunos4*) - if test "$XEGCC" = yes; then - dll_ld=$CC - else - dll_ld=$LTLD - fi - dll_ldflags=$xldf - ;; - - uts4*) - dll_ld=$LTLD - dll_ldflags="-G" - ;; - - bsdi*) - dll_ldflags="-r" - dll_ld="shlicc2" - ;; - - *) - ld_shlibs=no - can_build_shared=no - ;; - esac - fi - AC_MSG_RESULT([${ld_shlibs}]) - if test "$ld_shlibs" = "no"; then - can_build_shared=no - fi -fi # End of if cc_produces_so = no - -dnl -dnl Last thing, check how to get a linked executable to have its symbols -dnl exported, so that the modules have access to them. -dnl -dnl XEmacs FIXME - we need to set ld_dynamic_link_flags properly for -dnl most of these systems, which was missing from libtool. I know they -dnl all have a way of doing this, but someone needs to look at this -dnl for each OS and make sure it is correct. Remember that the arguments -dnl are passed when temacs is linked, this is NOT for modules. The sole -dnl purpose of the argument is to get the internal XEmacs symbols exposed -dnl for modules to use. This means that the COMPILER (and NOT the linker) -dnl is most often used to create temacs, so arguments to the linker will -dnl usually need to be prefix with ${wl} or some other such thing. -dnl - -if test "$xe_gnu_ld" = yes; then - if test "$ld_shlibs" = yes; then - ld_dynamic_link_flags="${wl}-export-dynamic" - fi -fi - -if test -z "$ld_dynamic_link_flags"; then - case "$xehost_os" in - aix[[3-9]]*) - ld_dynamic_link_flags= - ;; - - *darwin*) - ld_dynamic_link_flags= - ;; - - freebsd2.2*) - ld_dynamic_link_flags= - ;; - - freebsd2*) - ld_dynamic_link_flags= - ;; - - freebsd3*) - ld_dynamic_link_flags= - ;; - - hpux*) - ld_dynamic_link_flags="${wl}-E" - ;; - - irix[[5-9]]*) - ld_dynamic_link_flags= - ;; - - netbsd*) - ld_dynamic_link_flags= - ;; - - openbsd*) - ld_dynamic_link_flags= - ;; - - osf3* | osf4*) - ld_dynamic_link_flags= - ;; - - solaris2* | solaris7*) - ld_dynamic_link_flags= - ;; - - sco3.2v5* | unixware* | sysv5* | sysv4*) - ld_dynamic_link_flags="${wl}-Bexport" - ;; - - sunos4*) - ld_dynamic_link_flags= - ;; - - uts4*) - ld_dynamic_link_flags= - ;; - - bsdi*) - ld_dynamic_link_flags= - ;; - - esac -fi # End of if -z ld_dynamic_link_flags -fi # End of if test "$can_build_shared" = "yes" - -AC_SUBST(dll_ld) -AC_SUBST(dll_cflags) -AC_SUBST(dll_ldflags) -AC_SUBST(dll_post) -AC_SUBST(dll_ldo) -AC_SUBST(ld_dynamic_link_flags) -])dnl SXE_SHLIB_STUFF +AC_DEFUN([SXE_CHECK_LINKER_FLAGS], [dnl +dnl just like SXE_CHECK_COMPILER_FLAGS but calls the linker +dnl SXE_CHECK_LINKER_FLAGS(, , , +dnl ) + AC_MSG_CHECKING([whether linker accepts $1]) + + dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname: + SXE_LANG_WERROR([push+on]) + AS_LITERAL_IF([$1], [ + AC_CACHE_VAL(AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1), [ + sxe_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$4 ${XFLAG} $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1)="yes", + AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1)="no") + _AC_LANG_PREFIX[]FLAGS=$sxe_save_FLAGS])], [ + sxe_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$4 ${XFLAG} $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + eval AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1)="yes", + eval AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1)="no") + _AC_LANG_PREFIX[]FLAGS=$sxe_save_FLAGS]) + eval sxe_check_linker_flags=$AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1) + SXE_LANG_WERROR([pop]) + + AC_MSG_RESULT([$sxe_check_linker_flags]) + if test "$sxe_check_linker_flags" = "yes"; then + m4_default([$2], :) + else + m4_default([$3], :) + fi +])dnl SXE_CHECK_LINKER_FLAGS +AC_DEFUN([SXE_CHECK_LINK_LIB], [dnl +dnl just like SXE_CHECK_LINKER_FLAGS but calls the linker with -l +dnl SXE_CHECK_LINK_LIB(, , , +dnl ) + AC_MSG_CHECKING([whether library $1 can be linked]) + + dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname: + SXE_LANG_WERROR([push+on]) + AS_LITERAL_IF([$1], [ + AC_CACHE_VAL(AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_flags_$1), [ + sxe_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$4 ${XFLAG} -l$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_lib_$1)="yes", + AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_lib_$1)="no") + _AC_LANG_PREFIX[]FLAGS=$sxe_save_FLAGS])], [ + sxe_save_FLAGS=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$4 ${XFLAG} -l$1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + eval AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_lib_$1)="yes", + eval AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_lib_$1)="no") + _AC_LANG_PREFIX[]FLAGS=$sxe_save_FLAGS]) + eval sxe_check_linker_lib=$AS_TR_SH(sxe_cv_[]_AC_LANG_ABBREV[]_lib_$1) + SXE_LANG_WERROR([pop]) + + AC_MSG_RESULT([$sxe_check_linker_lib]) + if test "$sxe_check_linker_lib" = "yes"; then + m4_default([$2], :) + else + m4_default([$3], :) + fi +])dnl SXE_CHECK_LINK_LIB AC_DEFUN([SXE_CHECK_LD_ZFLAG], [dnl pushdef([LD_ZFLAG], [$1]) pushdef([cv_zflag], [sxe_cv_ld__z_]translit(LD_ZFLAG,[-.=],[___])) - AC_CACHE_CHECK([whether linker supports -z ]LD_ZFLAG[], - []cv_zflag[], [_SXE_CHECK_LD_ZFLAG(LD_ZFLAG)]) + SXE_CHECK_LINKER_FLAGS([-z ]LD_ZFLAG[]) + +dnl Use the check that actually calls the compiler/linker to examine the flags +dnl AC_CACHE_CHECK([whether linker supports -z ]LD_ZFLAG[], +dnl []cv_zflag[], [_SXE_CHECK_LD_ZFLAG(LD_ZFLAG)]) popdef([cv_zflag]) popdef([LD_ZFLAG]) @@ -632,12 +108,9 @@ AC_DEFUN([_SXE_CHECK_LD_ZFLAG], [dnl popdef([LD_ZFLAG]) ])dnl _SXE_CHECK_LD_ZFLAG -AC_DEFUN([SXE_CHECK_LD_NOCOMBRELOC], [dnl - SXE_CHECK_LD_ZFLAG([nocombreloc]) -])dnl SXE_CHECK_LD_NOCOMBRELOC - +AC_DEFUN([SXE_CHECK_LDFLAGS], [dnl + AC_REQUIRE([SXE_CHECK_COMPILER_XFLAG]) -AC_DEFUN([SXE_CHECK_LINKER_FLAGS], [dnl ## relocation SXE_CHECK_LD_ZFLAG([combreloc]) SXE_CHECK_LD_ZFLAG([nocombreloc]) @@ -649,7 +122,26 @@ AC_DEFUN([SXE_CHECK_LINKER_FLAGS], [dnl ## binding policy SXE_CHECK_LD_ZFLAG([lazy]) SXE_CHECK_LD_ZFLAG([now]) -])dnl SXE_CHECK_LINKER_FLAGS + + LDFLAGS="${ldflags} ${ac_cv_env_LDFLAGS_value}" + AC_MSG_CHECKING([for preferred LDFLAGS]) + AC_MSG_RESULT([${LDFLAGS}]) + + AC_MSG_NOTICE([ +If you wish to ADD your own flags you want to stop here and rerun the +configure script like so: + configure LDFLAGS= + +You can always override the determined LDFLAGS, partially or totally, +using + make -C LDFLAGS= [target] +or + make LDFLAGS= [target] +respectively + +NOTE: -C option is not available on all systems + ]) +])dnl SXE_CHECK_LDFLAGS AC_DEFUN([SXE_PREPEND_LINKER_FLAG], [dnl ## a convenience function to add such linker flags to variables