Loading ...
Sorry, an error occurred while loading the content.
 

Re: VIM: Configure script patch for IBM z/OS <<< gvim motif build procedure << motif 1.2 vs motif 2.1 <

Expand Messages
  • Bram Moolenaar
    ... Can you please make a context diff with diff -c or diff -u ? Otherwise there might be mistakes. I m glad you managed to make it work. I wonder what the
    Message 1 of 3 , May 5, 2012
      Stephen Bovy wrote:

      > Background >>
      >
      > Problems
      >
      > 1) The CFLAGS setting had syntax errors during the configure process ( need to remove "escapes" {\\} )
      > 2) The configure process did not correctly detect missing header files {need to add option to force error on missing .h files haltonmsg(3296) }
      > 3) New default Motif 2.1 support does not compile (need to externally change lib search paths ) (no change needed ) (see notes below )
      > 4) New Default Motif 2.1 header detection creates compile and link errors ( need to remove most {Xm} headers )
      > 5) configure CFLAGS value can-not be used for final config.mk
      >
      > Here is the diff >>
      >
      > 4414c4414
      > < if test "$CC" = "cc"; then
      > ---
      > > if test "$CC" = "cc"; then

      Can you please make a context diff with diff -c or diff -u ?
      Otherwise there might be mistakes.

      I'm glad you managed to make it work. I wonder what the existing
      configure lines were for. I assume your system is more recent, I don't
      think these lines have been changed for several years.

      Updating the os_390.txt file would also be very helpful for z/OS users.


      --
      A law to reduce crime states: "It is mandatory for a motorist with criminal
      intentions to stop at the city limits and telephone the chief of police as he
      is entering the town.
      [real standing law in Washington, United States of America]

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ an exciting new programming language -- http://www.Zimbu.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    • Bovy, Stephen
      The syntax error with ( ) was probably not-critical because setting the float option is probably not required. The actual error was not detected because no
      Message 2 of 3 , May 7, 2012
        The syntax error with (\\) was probably not-critical because setting the "float" option is probably not required.
        The actual error was not detected because no one bothered to examine the configure script log.

        There was one critical error False Detection of (xpm) {xpm] is not a Posix standard, therefore ibm does not support it
        I added the header detection error flag to fix [xpm] { haltonmsg(3296) }

        As I mentioned in previous emails the majority of { Xm } headers are Motif 2.1 which IBM previously did not support

        I am not sure exactly when they added this new 2.1 support in ( I am currently using z/OS 1.10 or 11 )

        Unfortunately IBM made Motif 2.1 the new default which requires using a much higher level of c standards compliant code

        Compiling with the new motif 2.1 headers generates a boat-load of errors

        So I inserted the old 1.2 headers back to the front of the bus (but that does not hide the new Xm headers )

        So the configure script detected all these wonderful new Xm headers (some of which generated compile errors ) and after I hacked the code
        To fix those errors I ended up with link errors because I was not and can-not link with the new motif 2.1 xm libs

        So I added a new check to exclude the new Xm headers

        Finally the configure script compile options are unique to the needs of the configure script and should not be used for the actual build process
        Therefore I added a few new lines to set the correct options to be written to the make-file

        Here is the diff you requested >>

        *** configure-new Thu May 3 22:09:02 2012
        --- configure Tue Apr 24 15:54:41 2012
        ***************
        *** 4411,4417 ****
        $as_echo_n "checking for z/OS Unix... " >&6; }
        case `uname` in
        OS/390) zOSUnix="yes";
        ! if test "$CC" = "cc"; then
        ccm="$_CC_CCMODE"
        ccn="CC"
        else
        --- 4411,4417 ----
        $as_echo_n "checking for z/OS Unix... " >&6; }
        case `uname` in
        OS/390) zOSUnix="yes";
        ! if test "$CC" = "cc"; then
        ccm="$_CC_CCMODE"
        ccn="CC"
        else
        ***************
        *** 4426,4439 ****
        echo ""
        echo "------------------------------------------"
        echo " On z/OS Unix, the environment variable"
        ! echo " _CC_${ccn}MODE must be set to \"1\"!"
        echo " Do:"
        echo " export _CC_${ccn}MODE=1"
        echo " and then call configure again."
        echo "------------------------------------------"
        exit 1
        fi
        ! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(IEEE),haltonmsg(3296)";
        LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        $as_echo "yes" >&6; }
        --- 4426,4439 ----
        echo ""
        echo "------------------------------------------"
        echo " On z/OS Unix, the environment variable"
        ! echo " __CC_${ccn}MODE must be set to \"1\"!"
        echo " Do:"
        echo " export _CC_${ccn}MODE=1"
        echo " and then call configure again."
        echo "------------------------------------------"
        exit 1
        fi
        ! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
        LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
        $as_echo "yes" >&6; }
        ***************
        *** 7397,7403 ****
        fi


        ! if test "$zOSUnix" = "yes"; then
        CFLAGS="$CFLAGS -W c,dll"
        LDFLAGS="$LDFLAGS -W l,dll"
        X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
        --- 7397,7403 ----
        fi


        ! if test "$zOSUnix" = "yes"; then
        CFLAGS="$CFLAGS -W c,dll"
        LDFLAGS="$LDFLAGS -W l,dll"
        X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE -lXmu"
        ***************
        *** 8697,8709 ****
        if test -z "$SKIP_MOTIF"; then
        cppflags_save=$CPPFLAGS
        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
        ! if test "$zOSUnix" = "yes"; then
        ! xmheader="Xm/Xm.h"
        ! else
        ! xmheader="Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h
        ! Xm/UnhighlightT.h Xm/Notebook.h"
        ! fi
        ! for ac_header in $xmheader
        do :
        as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
        ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
        --- 8697,8704 ----
        if test -z "$SKIP_MOTIF"; then
        cppflags_save=$CPPFLAGS
        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
        ! for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
        ! Xm/UnhighlightT.h Xm/Notebook.h
        do :
        as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
        ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
        ***************
        *** 8718,8724 ****
        done


        ! if test "x$ac_cv_header_Xm_XpmP_h" = x""yes; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
        $as_echo_n "checking for XpmAttributes_21 in Xm/XpmP.h... " >&6; }
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        --- 8713,8719 ----
        done


        ! if test $ac_cv_header_Xm_XpmP_h = yes; then
        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
        $as_echo_n "checking for XpmAttributes_21 in Xm/XpmP.h... " >&6; }
        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
        ***************
        *** 12594,12603 ****
        $as_echo "no" >&6; }
        fi

        - if test "$zOSUnix" = "yes"; then
        - # CFLAGS=`$as_echo "$CFLAGS" | sed 's/(/\\\\(/g;s/)/\\\\)/g'`
        - CFLAGS="-D_ALL_SOURCE -Wc,float\(IEEE\),dll"
        - fi

        ac_config_files="$ac_config_files auto/config.mk:config.mk.in"

        --- 12589,12594 ----


        ******************************************************************************
        ******************************************************************************


        *** configure.in Fri May 4 22:29:54 2012
        --- ../configure.in Tue Apr 24 15:54:41 2012
        ***************
        *** 329,345 ****
        echo ""
        echo "------------------------------------------"
        echo " On z/OS Unix, the environment variable"
        ! echo " _CC_${ccn}MODE must be set to \"1\"!"
        echo " Do:"
        echo " export _CC_${ccn}MODE=1"
        echo " and then call configure again."
        echo "------------------------------------------"
        exit 1
        fi
        ! # set CFLAGS for configure process
        ! # this will be reset later for config.mk
        ! # use haltonmsg to force error for missing H files
        ! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(ieee),haltonmsg(3296)";
        LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
        AC_MSG_RESULT(yes)
        ;;
        --- 329,342 ----
        echo ""
        echo "------------------------------------------"
        echo " On z/OS Unix, the environment variable"
        ! echo " __CC_${ccn}MODE must be set to \"1\"!"
        echo " Do:"
        echo " export _CC_${ccn}MODE=1"
        echo " and then call configure again."
        echo "------------------------------------------"
        exit 1
        fi
        ! CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
        LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
        AC_MSG_RESULT(yes)
        ;;
        ***************
        *** 2381,2395 ****
        if test -z "$SKIP_MOTIF"; then
        cppflags_save=$CPPFLAGS
        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
        ! if test "$zOSUnix" = "yes"; then
        ! xmheader="Xm/Xm.h"
        ! else
        ! xmheader="Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h
        ! Xm/UnhighlightT.h Xm/Notebook.h"
        ! fi
        ! AC_CHECK_HEADERS($xmheader)

        ! if test "x$ac_cv_header_Xm_XpmP_h" = x""yes; then
        dnl Solaris uses XpmAttributes_21, very annoying.
        AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
        AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
        --- 2378,2387 ----
        if test -z "$SKIP_MOTIF"; then
        cppflags_save=$CPPFLAGS
        CPPFLAGS="$CPPFLAGS $X_CFLAGS"
        ! AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
        ! Xm/UnhighlightT.h Xm/Notebook.h)

        ! if test $ac_cv_header_Xm_XpmP_h = yes; then
        dnl Solaris uses XpmAttributes_21, very annoying.
        AC_MSG_CHECKING([for XpmAttributes_21 in Xm/XpmP.h])
        AC_TRY_COMPILE([#include <Xm/XpmP.h>], [XpmAttributes_21 attr;],
        ***************
        *** 3650,3660 ****
        fi
        AC_SUBST(LINK_AS_NEEDED)

        - # IBM z/OS reset CFLAGS for config.mk
        - if test "$zOSUnix" = "yes"; then
        - CFLAGS="-D_ALL_SOURCE -Wc,float\(ieee\),dll"
        - fi
        -
        dnl write output files
        AC_OUTPUT(auto/config.mk:config.mk.in)

        --- 3642,3647 ----

        ***************************************************************************
        ***************************************************************************

        The next challenge is to try to fix things so we can use the new 2.1 headers and the new 2.1 libs

        IBM recommends using c89 >> which uses langlvl(ansi) <<

        Compiling with langlvl(ansi) seems to help a lot , but it also introduces new problems ( you can not re-define a #define !! )

        -----Original Message-----
        From: Bram@... [mailto:Bram@...]
        Sent: Saturday, May 05, 2012 4:03 AM
        To: Bovy, Stephen
        Cc: vim_dev@...; MVS OpenEdition (MVS-OE@...)
        Subject: Re: VIM: Configure script patch for IBM z/OS <<< gvim motif build procedure << motif 1.2 vs motif 2.1 <<


        Stephen Bovy wrote:

        > Background >>
        >
        > Problems
        >
        > 1) The CFLAGS setting had syntax errors during the configure process (
        > need to remove "escapes" {\\} )
        > 2) The configure process did not correctly detect missing header files
        > {need to add option to force error on missing .h files haltonmsg(3296)
        > }
        > 3) New default Motif 2.1 support does not compile (need to externally
        > change lib search paths ) (no change needed ) (see notes below )
        > 4) New Default Motif 2.1 header detection creates compile and link
        > errors ( need to remove most {Xm} headers )
        > 5) configure CFLAGS value can-not be used for final config.mk
        >
        > Here is the diff >>
        >
        > 4414c4414
        > < if test "$CC" = "cc"; then
        > ---
        > > if test "$CC" = "cc"; then

        Can you please make a context diff with diff -c or diff -u ?
        Otherwise there might be mistakes.

        I'm glad you managed to make it work. I wonder what the existing configure lines were for. I assume your system is more recent, I don't think these lines have been changed for several years.

        Updating the os_390.txt file would also be very helpful for z/OS users.


        --
        A law to reduce crime states: "It is mandatory for a motorist with criminal intentions to stop at the city limits and telephone the chief of police as he is entering the town.
        [real standing law in Washington, United States of America]

        /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
        /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
        \\\ an exciting new programming language -- http://www.Zimbu.org ///
        \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

        --
        You received this message from the "vim_dev" maillist.
        Do not top-post! Type your reply below the text you are replying to.
        For more information, visit http://www.vim.org/maillist.php
      Your message has been successfully submitted and would be delivered to recipients shortly.