tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

math/R package



It seems that the R configuration does not set the SHLIB_CXXLDFLAGS
make variable in etc/Makeconf.  This turns out to be a problem when
building extension packages that contain c++ code, as they linking
command lacks a needed '-shared' flag.  The following patch will fix
this (using configure.ac as an example).

     $NetBSD$

     --- configure.ac.orig      2008-04-14 16:05:05.000000000 -0600
     +++ configure.ac   2008-10-28 13:13:51.000000000 -0600
     @@ -1414,6 +1414,7 @@
          if ${CPP} - -dM < /dev/null | grep __ELF__ >/dev/null ; then
            main_ldflags="-export-dynamic"
            shlib_ldflags="-shared"
     +      shlib_cxxldflags="-shared"
          else
            shlib_ldflags="-Bshareable"
          fi

The corresponding change to configure itself is obtained by modifying
our patch-ac as follows:

     --- patch-ac.orig  2008-05-19 10:51:54.000000000 -0600
     +++ patch-ac       2008-10-28 13:22:45.000000000 -0600
     @@ -213,7 +213,13 @@
           if ${CPP} - -dM < /dev/null | grep __ELF__ >/dev/null ; then
             main_ldflags="-export-dynamic"
             shlib_ldflags="-shared"
     -@@ -31215,7 +31083,7 @@ fi
     +-    else
     ++      shlib_cxxldflags="-shared" 
     ++   else
     +       shlib_ldflags="-Bshareable"
     +     fi
     +     ;;
     +@@ -31215,7 +31084,7 @@
       : ${FPICFLAGS="${fpicflags}"}
       if test -z "${FPICFLAGS}"; then
         case "${host_os}" in

This is not quite so clear, because the change occurs in the
neighborhood within configure of something that is already patched by
patch-ac.

I would like to go ahead and fix the configure patch this weekend if
there are no objections.  I'll leave the configure.ac patch out,
however, as is seems that the changes already patched into configure
are not patched into configure.ac.

Feedback is greatly appreciated.

Cheers,
Brook


Home | Main Index | Thread Index | Old Index