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