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

38 views
Skip to first unread message

Bovy, Stephen

unread,
May 5, 2012, 12:03:52 AM5/5/12
to vim...@googlegroups.com, MVS OpenEdition (MVS-OE@vm.marist.edu)
Author : Stephen Bovy

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
4429c4429
< echo " __CC_${ccn}MODE must be set to \"1\"!"
---
> echo " _CC_${ccn}MODE must be set to \"1\"!"
4436c4436
< CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float\\(IEEE\\)";
---
> CFLAGS="$CFLAGS -D_ALL_SOURCE -Wc,float(IEEE),haltonmsg(3296)";
7400c7400
< if test "$zOSUnix" = "yes"; then
---
> if test "$zOSUnix" = "yes"; then
8700,8701c8700,8706
< 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
---
> 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
8716c8721
< if test $ac_cv_header_Xm_XpmP_h = yes; then
---
> if test "x$ac_cv_header_Xm_XpmP_h" = x""yes; then
12591a12597,12600
> if test "$zOSUnix" = "yes"; then
> # CFLAGS=`$as_echo "$CFLAGS" | sed 's/(/\\\\(/g;s/)/\\\\)/g'`
> CFLAGS="-D_ALL_SOURCE -Wc,float\(IEEE\),dll"
> fi

After the above fixes vim can be built on z/OS using configure / make with (cc) (although the lib paths need to be changed )
I probably need to update the os-390 read-me and I also need to update config.in

Here are my .profile changes to the lib path ( to use old motif 1.2 files ) (with cc ) >>

tcpip=/usr/lpp/tcpip
xpath=$tcpip/X11R6
xsamp=$xpath/Xamples

export _CC_LIBDIRS="$xpath/lib $_CC_LIBDIRS"
export _CC_INCDIRS="$xpath/include $_CC_INCDIRS"

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

The following header files are for motif 2.1 and cause compile errors and link errors >>

> xmheader="Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h
> Xm/UnhighlightT.h Xm/Notebook.h"

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

The final config.h output should look like this >>

#define HAVE_XM_XM_H 1
/* #undef HAVE_XM_XPMP_H */
/* #undef HAVE_XM_TRAITP_H */
/* #undef HAVE_XM_MANAGER_H */
/* #undef HAVE_XM_UNHIGHLIGHTT_H */
/* #undef HAVE_XM_JOINSIDET_H */
/* #undef HAVE_XM_NOTEBOOK_H */
/* #undef HAVE_X11_XPM_H */
#define HAVE_X11_XMU_EDITRES_H 1
#define HAVE_X11_SM_SMLIB_H 1

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

If we can figure out how to get things working for motif 2.1 it would be really great, because then we
We could add the following >>

/* #undef HAVE_XM_XPMP_H */
/* #undef HAVE_XM_TRAITP_H */
/* #undef HAVE_XM_MANAGER_H */
/* #undef HAVE_XM_UNHIGHLIGHTT_H */
/* #undef HAVE_XM_JOINSIDET_H */
/* #undef HAVE_XM_NOTEBOOK_H */

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> (and we would also get feature_toolbar ) with xpmp <<<<<

IBM supporting documentation >>

The X Window System toolkit includes files that define two macros for obtaining the offset of fields in an X Window System Toolkit structure, XtOffset, and XtOffsetOf. Programs written for, or ported to, z/OS UNIX MVS(tm) must use the XtOffsetOf macro for this purpose.

Porting Motif applications to z/OS UNIX MVS

Some Motif widget and gadget resources have the type KeySym. In an ASCII-based system the KeySym is the same as the ASCII character value. For example, the character 'F' has the ASCII hexadecimal value 46 and the KeySym hexadecimal value 46.

However, on z/OS UNIX MVS, the character value of 'F' is hexadecimal C6, while the KeySym hexadecimal value is still 46. Remember to use true KeySym values when specifying resources of type KeySym, whether in a defaults file or in a function call.

In some cases, an X Window System server may have clients that are not running on z/OS UNIX MVS. If a z/OS UNIX MVS X Window System application sends nonstandard properties that contain text strings to the X Window System server, and these properties might be accessed by clients that are not running on z/OS UNIX MVS, the strings should be translated. The translation should be to the server default character set before transmission to the server and to the appropriate host character set when retrieved from the server. This translation is an application responsibility.

Compiling and linking Motif and X Window System applications

The z/OS UNIX c89 or make commands should be used to compile and link X Window System and Motif programs. The following example shows how to use the c89 command to compile an X Window System program, xxx, which uses the Athena widget set, and create the executable file xxx. All code that uses the X Window System and Motif libraries must be compiled with the DLL option even if static linking is used.

X Window System and Motif files locations

z/OS V1R11.0 Communications Server IP Programmer's Guide and Reference z/OS V1R10.0-V1R11.0
SC31-8787-11

The following topics provide X Window System and Motif locations.

Previous function X11R6.1 and Motif 1.2

Previous function X11R6.1 and Motif 1.2 static libraries for 31-bit applications. Applications that want to link with these libraries must use the -L flag on the cc or c89 command to specify the library directory.
/usr/lpp/tcpip/X11R6/lib/libX11.a
/usr/lpp/tcpip/X11R6/lib/libXext.a
/usr/lpp/tcpip/X11R6/lib/liboldX.a
/usr/lpp/tcpip/X11R6/lib/libICE.a
/usr/lpp/tcpip/X11R6/lib/libSM.a
/usr/lpp/tcpip/X11R6/lib/libXt.a
/usr/lpp/tcpip/X11R6/lib/libXmu.a
/usr/lpp/tcpip/X11R6/lib/libXaw.a
/usr/lpp/tcpip/X11R6/lib/libXau.a
/usr/lpp/tcpip/X11R6/lib/libPEX5.a
/usr/lpp/tcpip/X11R6/lib/libXm.a
/usr/lpp/tcpip/X11R6/lib/libMrm.a
/usr/lpp/tcpip/X11R6/lib/libUil.a Previous function X11R6.1 and Motif 1.2 dynamic link libraries (DLLs); 31-bit, non-XPLINK:
/usr/lib/X11.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/X11.dll
/usr/lib/ICE.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/ICE.dll
/usr/lib/SM.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/SM.dll
/usr/lib/Xaw.dll -> symlink to /usr/lpp/tcpip/X11R6/lib/Xaw.dll Header files for previous function X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/X11R6/include/X11
/usr/lpp/tcpip/X11R6/include/X11/ICE
/usr/lpp/tcpip/X11R6/include/X11/PEX5
/usr/lpp/tcpip/X11R6/include/X11/SM
/usr/lpp/tcpip/X11R6/include/X11/Xaw
/usr/lpp/tcpip/X11R6/include/X11/Xmu
/usr/lpp/tcpip/X11R6/include/X11/bitmaps
/usr/lpp/tcpip/X11R6/include/X11/extensions

/usr/lpp/tcpip/X11R6/include/Mrm (motif header files)
/usr/lpp/tcpip/X11R6/include/Xm (motif header files)
/usr/lpp/tcpip/X11R6/include/Uil (Uil header files) Other utilities and data files for the previous function X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/bin/X11/uil (uil compiler)

/usr/lpp/tcpip/X11R6/lib/X11/locale (locale data files)
/usr/lpp/tcpip/X11R6/lib/X11/XErrorDB (X Error message database)
/usr/lpp/tcpip/X11R6/lib/X11/XKeysymDB (X keysym Database)
/usr/lpp/tcpip/X11R6/lib/X11/app-defaults/ (application default files) Examples included for X11R6.1 and Motif 1.2:
/usr/lpp/tcpip/X11R6/Xamples/man/cat1/ (man pages for Xamples programs)
/usr/lpp/tcpip/X11R6/Xamples/demos/ (demonstration programs)
/usr/lpp/tcpip/X11R6/Xamples/clients/ (selected standard clients) New function X11R6.6 and Motif 2.1.30

New function X11R6.6 and Motif 2.1 static libraries for 31-bit and 64-bit applications (these libraries are all XPLINK):
Notes:
PEX is no longer supported in these libraries.
Xp is a new library.
/usr/lib/libX11.a -> /usr/lpp/tcpip/X11R66/lib/libX11.a
/usr/lib/libXext.a -> /usr/lpp/tcpip/X11R66/lib/libXext.a
/usr/lib/liboldX.a -> /usr/lpp/tcpip/X11R66/lib/liboldX.a
/usr/lib/libICE.a -> /usr/lpp/tcpip/X11R66/lib/libICE.a
/usr/lib/libSM.a -> /usr/lpp/tcpip/X11R66/lib/libSM.a
/usr/lib/libXt.a -> /usr/lpp/tcpip/X11R66/lib/libXt.a
/usr/lib/libXmu.a -> /usr/lpp/tcpip/X11R66/lib/libXmu.a
/usr/lib/libXaw.a -> /usr/lpp/tcpip/X11R66/lib/libXaw.a
/usr/lib/libXp.a -> /usr/lpp/tcpip/X11R66/lib/libXp.a
/usr/lib/libXau.a -> /usr/lpp/tcpip/X11R66/lib/libXau.a
/usr/lib/libXm.a -> /usr/lpp/tcpip/X11R66/lib/libXm.a
/usr/lib/libMrm.a -> /usr/lpp/tcpip/X11R66/lib/libMrm.a
/usr/lib/libUil.a -> /usr/lpp/tcpip/X11R66/lib/libUil.a New function X11R6.6 and Motif 2.1 31-bit dynamic link libraries (DLLs):
/usr/lib/X11_31.dll -> /usr/lpp/tcpip/X11R66/lib/X11_31.dll
/usr/lib/ICE_31.dll -> /usr/lpp/tcpip/X11R66/lib/ICE_31.dll
/usr/lib/SM_31.dll -> /usr/lpp/tcpip/X11R66/lib/SM_31.dll
/usr/lib/Xaw_31.dll -> /usr/lpp/tcpip/X11R66/lib/Xaw_31.dll
/usr/lib/Mrm_31.dll -> /usr/lpp/tcpip/X11R66/lib/Mrm_31.dll
/usr/lib/Uil_31.dll -> /usr/lpp/tcpip/X11R66/lib/Uil_31.dll
/usr/lib/Xm_31.dll -> /usr/lpp/tcpip/X11R66/lib/Xm_31.dll New function X11R6.6 and Motif 2.1 64-bit dynamic link libraries (DLLs):
/usr/lib/X11_64.dll -> /usr/lpp/tcpip/X11R66/lib/X11_64.dll
/usr/lib/ICE_64.dll -> /usr/lpp/tcpip/X11R66/lib/ICE_64.dll
/usr/lib/SM_64.dll -> /usr/lpp/tcpip/X11R66/lib/SM_64.dll
/usr/lib/Xaw_64.dll -> /usr/lpp/tcpip/X11R66/lib/Xaw_64.dll
/usr/lib/Mrm_64.dll -> /usr/lpp/tcpip/X11R66/lib/Mrm_64.dll
/usr/lib/Uil_64.dll -> /usr/lpp/tcpip/X11R66/lib/Uil_64.dll
/usr/lib/Xm_64.dll -> /usr/lpp/tcpip/X11R66/lib/Xm_64.dll Header files for X11R6.6 and Motif 2.1: /usr/include/X11/ -> /usr/lpp/tcpip/X11R66/include/X11 (header files)
/usr/include/X11/ICE -> /usr/lpp/tcpip/X11R66/include/X11/ICE (ICE specific header files)
/usr/include/X11/SM -> /usr/lpp/tcpip/X11R66/include/X11/SM (SM specific header files)
/usr/include/X11/Xaw -> /usr/lpp/tcpip/X11R66/include/X11/Xaw (Xaw specific header files)
/usr/include/X11/Xmu -> /usr/lpp/tcpip/X11R66/include/X11/Xmu (Xmu specific header files)
/usr/include/X11/extensions -> /usr/lpp/tcpip/X11R66/include/X11/extensions (extensions specific header files)
/usr/include/X11/bitmaps -> /usr/lpp/tcpip/X11R66/include/X11/bitmaps (bitmaps for samples)
/usr/include/Mrm -> /usr/lpp/tcpip/X11R66/include/Mrm (motif header files)
/usr/include/Xm -> /usr/lpp/tcpip/X11R66/include/Xm (motif header files)
/usr/include/X11/uil -> /usr/lpp/tcpip/X11R66/include/uil (Uil header files)

Other utilities and Data files for the new function X11R6.6 and Motif 2.1: /bin/X11/uil -> /usr/lpp/tcpip/bin/X1166/uil (31-bit uil compiler)
/bin/X11/uil64 -> /usr/lpp/tcpip/bin/X1166/uil64 (64-bit uil compiler)
/usr/lib/X11 -> /usr/lpp/tcpip/X11R66/lib/X11
/usr/lib/X11/locale -> /usr/lpp/tcpip/X11R66/lib/X11/locale (locale data files)
/usr/lib/X11/XErrorDB -> /usr/lpp/tcpip/X11R66/lib/X11/XErrorDB (X Error message database)
/usr/lib/X11/XKeysymDB -> /usr/lpp/tcpip/X11R66/lib/X11/XKeysymDB (X keysym Database)
/usr/lib/X11/app-defaults -> /usr/lpp/tcpip/X11R66/lib/X11/app-defaults/ (application default files)

Examples included for X11R6.6 and Motif 2.1:
/usr/lpp/tcpip/X11R66/Xamples/man/cat1/ (man pages for Xamples programs)
/usr/lpp/tcpip/X11R66/Xamples/demos/ (demonstration programs)
/usr/lpp/tcpip/X11R66/Xamples/clients/ (selected standard clients)
/usr/lpp/tcpip/X11R66/Xamples/motif (selected Motif examples)




Bram Moolenaar

unread,
May 5, 2012, 7:02:56 AM5/5/12
to Bovy, Stephen, vim...@googlegroups.com, MVS OpenEdition (MVS-OE@vm.marist.edu)

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 -- Br...@Moolenaar.net -- 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 ///

Bovy, Stephen

unread,
May 7, 2012, 1:17:22 PM5/7/12
to Br...@moolenaar.net, vim...@googlegroups.com, MVS OpenEdition (MVS-OE@vm.marist.edu)
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 !! )
Reply all
Reply to author
Forward
0 new messages