Improve detection libtool version detection
[sxemacs] / m4 / sxe-bldenv.m4
index 3b2eb58..c230461 100644 (file)
@@ -4,17 +4,33 @@ AC_DEFUN([SXE_LD_EXPORT_DYNAMIC], [dnl
        AC_MSG_CHECKING([if linker understands -export-dynamic])
        SXE_DUMP_LIBS
        LDFLAGS="-export-dynamic $LDFLAGS"
-        AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <stdlib.h>
 ]],[[
 return 0;
 ]])],  [AC_MSG_RESULT([yes])
-        have_ld_export_dynamic="yes"], [
+       have_ld_export_dynamic="yes"], [
        AC_MSG_RESULT([no])
        have_ld_export_dynamic="no"])
        SXE_RESTORE_LIBS
 ])dnl SXE_LD_EXPORT_DYNAMIC
 
+
+AC_DEFUN([SXE_LD_NO_PIE], [dnl
+       AC_MSG_CHECKING([if linker understands -no_pie])
+       SXE_DUMP_LIBS
+       LDFLAGS="-no_pie $LDFLAGS"
+       AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include <stdlib.h>
+]],[[
+return 0;
+]])],  [AC_MSG_RESULT([yes])
+       have_ld_no_pie="yes"], [
+       AC_MSG_RESULT([no])
+       have_ld_no_pie="no"])
+       SXE_RESTORE_LIBS
+])dnl SXE_LD_NO_PIE
+
 dnl SXE_RILLY_COMPUTE_LD_RUN_PATH()
 AC_DEFUN([SXE_RILLY_COMPUTE_LD_RUN_PATH], [dnl
        if test "$add_runtime_path" = "yes" -a -n "$dash_r"; then
@@ -81,8 +97,8 @@ AC_DEFUN([SXE_COMPUTE_LD_RUN_PATH], [dnl
                LD_RUN_PATH="`echo $with_site_runtime_libraries | sed -e 's/  */:/g'`"
                export LD_RUN_PATH
                for path in $with_site_runtime_libraries; do
-                       dnl SXE_APPEND("-R$path ", $ld_switch_run)
-                       SXE_APPEND(["-R${path} "], [LDFLAGS])
+                       dnl SXE_APPEND_UNDUP("-R$path ", $ld_switch_run)
+                       SXE_APPEND_UNDUP(["-R${path} "], [LDFLAGS])
                done
        fi
 
@@ -104,7 +120,7 @@ AC_DEFUN([SXE_COMPUTE_LD_RUN_PATH], [dnl
 
        ## if test -z "$LD_RUN_PATH" -a -r "/etc/ld.so.conf"; then
        ##   for dir in `cat /etc/ld.so.conf`; do
-       ##     test -d "$dir" && SXE_APPEND(-L${dir}, ld_switch_system)
+       ##     test -d "$dir" && SXE_APPEND_UNDUP(-L${dir}, ld_switch_system)
        ##   done
        ##   add_runtime_path=no
        ## fi
@@ -190,7 +206,7 @@ AC_DEFUN([SXE_COMPUTE_SITE_PREFIXES], [dnl
                                arg="-L${arg}"
                                ;;
                        esac
-                       SXE_APPEND($arg, ld_switch_site)
+                       SXE_APPEND_UNDUP($arg, ld_switch_site)
                done
        fi
 
@@ -207,8 +223,8 @@ AC_DEFUN([SXE_COMPUTE_SITE_PREFIXES], [dnl
                                arg="-I${arg}"
                                ;;
                        esac
-                       SXE_APPEND($arg, c_switch_site)
-                       SXE_APPEND($arg, CPPFLAGS)
+                       SXE_APPEND_UNDUP($arg, c_switch_site)
+                       SXE_APPEND_UNDUP($arg, CPPFLAGS)
                done
        fi
 
@@ -229,24 +245,24 @@ AC_DEFUN([SXE_COMPUTE_SITE_PREFIXES], [dnl
                                SXE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
                        else
                                if test -d "$inc_dir"; then
-                                       SXE_APPEND(["-I$inc_dir"], [CPPFLAGS])
+                                       SXE_APPEND_UNDUP(["-I$inc_dir"], [CPPFLAGS])
                                fi
-                               SXE_APPEND(["-L$lib_dir"], [LDFLAGS])
+                               SXE_APPEND_UNDUP(["-L$lib_dir"], [LDFLAGS])
                        fi
                done
        fi
 
        dnl GNU software installs by default into /usr/local/{include,lib}
        if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
-               SXE_APPEND(["-L/usr/local/lib"], [LDFLAGS])
-               SXE_APPEND(["-I/usr/local/include"], [CPPFLAGS])
+               SXE_APPEND_UNDUP(["-L/usr/local/lib"], [LDFLAGS])
+               SXE_APPEND_UNDUP(["-I/usr/local/include"], [CPPFLAGS])
        fi
 
        dnl Extra system-specific library directories - please add to list
        for dir in "/usr/ccs/lib"; do
-               dnl test -d "$dir" && SXE_APPEND(-L${dir}, ld_switch_system)
+               dnl test -d "$dir" && SXE_APPEND_UNDUP(-L${dir}, ld_switch_system)
                if test -d "$dir"; then
-                       SXE_APPEND([-L${dir}], [LDFLAGS])
+                       SXE_APPEND_UNDUP([-L${dir}], [LDFLAGS])
                fi
        done
 ])dnl SXE_COMPUTE_SITE_PREFIXES
@@ -276,7 +292,7 @@ dnl AC_ARG_PROGRAM
        ##else
        ##      datadir='${prefix}/share'
        fi
-       
+
        if test "x$libdir" != 'x${exec_prefix}/lib'; then
                AC_DEFINE([ARCHLIBDIR_USER_DEFINED], [1], [Description here!])
                AC_DEFINE([MODULEDIR_USER_DEFINED], [1], [Description here!])