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)
 



-- 
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

Raspunde prin e-mail lui