On Thursday 11 June 2009, Vikesh Bhoola wrote:
> Thank you Bob.
>
> > [ snip ]
>
> So, I'd be interested in the code once you manage to get this
> working. Comparing the difference between your CFLAGS & mine, I see
> mine : -D_OPEN_SYS -DMVS -DREENTRANT -DLARGE_FILE_SUPPORT
> Yours :
> -DOS390 -DEBCDIC -DSYSV -DNO_PARAM_H -DLARGE_FILE_SUPPORT
>
> Its obvious you've done a lot of changes as my compile fails with
> these options:
> /u/userid/zip31b/cmsmvs: >make -f mvs.mki
> cc -c -o ../mvs/zip.o -DOS390 -DEBCDIC -DSYSV -DNO_PARAM_H
> -DLARGE_FILE_SUPPORT
> -I.. -I../cmsmvs ../zip.c
Bummer! I hadn't noticed in your last couple of posts that you're
trying to build the old cmsmvs versions rather than the one in the unix
directory. I haven't looked at those at all, and have no idea whether
anyone has built those successfully in the past decade! Are the
developers working on the stuff in the cmsmvs directory?
(Shouldn't you be running from the zip31b directory, and using the
command "gmake -f cmsmvs/mvs.mki"? And have you tried using gmake
instead of make? IBM's make doesn't work for me with zip.)
What I have working is the version in the unix directory, built
under USS as a Unix executable. This only required modifications to
unix/configure and unix/Makefile. I can send the diff files for zip31b
and unzip60, or I can send you the entire Makefile and configure files,
if this would help you, or if you'd like to try them out.
You would build like so, in either the zip31b or unzip60
directories:
gmake -f unix/Makefile clean
gmake -f uniz/Makefile zos
But these won't help you build a zip load module into an MVS PDS
with the makefiles in cmsmvs, so it's back to the drawing board for
that one. I don't know when I'll have a chance to look at those. Has
anybody else tried them?
If anyone wants to try this out, I'm attaching USS style diffs for
zip 31b and unzip 60. USS doesn't grok unified diff, which is what I
would send to the developers. These are created on z/OS with diff -rc,
so they should work as input to the USS patch. If anyone wants the
whole Makefile and configure files, let me know and I'll send them to
you off-list.
Cheers,
Bob
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
diff -rc ./Makefile patched/Makefile
*** ./Makefile Wed Jun 10 21:48:25 2009
--- patched/Makefile Thu Jun 11 09:06:11 2009
***************
*** 923,935 ****
LF2="-arch i386 -arch m68k -object -s"
# IBM OS/390 (formerly MVS) compiled under "OpenEdition" shell
! os390: unix_make
! set -x; \
! $(MAKE) $(MAKEF) unzips \
! CC=c89 LD="\$$(CC) -Wl,EDIT=NO" \
! CF="$(CF) -DSYSV -DUNIX -DOS390 -DEBCDIC -DNO_PARAM_H \
! -DNO_LCHOWN -DNO_LCHMOD \
! -D_ALL_SOURCE $(HOST_VERSINFO)" LF2=""
# Sequent Symmetry running Dynix/ptx (sort of SysV.3): needs to link
# with libseq to get symlink().
--- 923,951 ----
LF2="-arch i386 -arch m68k -object -s"
# IBM OS/390 (formerly MVS) compiled under "OpenEdition" shell
! #os390: unix_make
! # set -x; \
! # $(MAKE) $(MAKEF) unzips \
! # CC=c89 LD="\$$(CC) -Wl,EDIT=NO" \
! # CF="$(CF) -DSYSV -DUNIX -DOS390 -DEBCDIC -DNO_PARAM_H \
! # -DNO_LCHOWN -DNO_LCHMOD \
! # -D_ALL_SOURCE $(HOST_VERSINFO)" LF2=""
!
!
! # RBW -- 2009/06/10 --
! # It's way past time to bring the mainframe setup into the 21st
! # century - it's been about a decade now, I think.
! # The configure script has fixes to set -DSYSV -DOS390 -DEBCDIC
! # and -DNO_PARAM_H.
! # os390 is effectively just an alias for zos - the z/OS kernel still
! # identifies itself as OS/390 - remind anyone of Solaris?
! # This is really the same technique as the generic target, which
! # should also work now for z/OS systems.
! os390: zos
!
! zos: flags # now try autoconfigure first
! eval $(MAKE) $(MAKEF) unzips ACONF_DEP=flags `cat flags`
!
# Sequent Symmetry running Dynix/ptx (sort of SysV.3): needs to link
# with libseq to get symlink().
diff -rc ./configure patched/configure
*** ./configure Wed Jun 10 21:48:25 2009
--- patched/configure Thu Jun 11 09:06:11 2009
***************
*** 456,463 ****
done
CFLAGSR="${CFLAGSR} ${OPT}"
echo Check for non existent include files
! for inc in stdlib.h stddef.h unistd.h fcntl.h string.h langinfo.h
do
echo "#include <$inc>" > conftest.c
$CPP conftest.c >/dev/null 2>/dev/null
--- 456,464 ----
done
CFLAGSR="${CFLAGSR} ${OPT}"
+ + # RBW -- 2009/06/10 -- added param.h test for z/OS (doesn't have it)
echo Check for non existent include files
! for inc in stdlib.h stddef.h unistd.h fcntl.h string.h langinfo.h param.h
do
echo "#include <$inc>" > conftest.c
$CPP conftest.c >/dev/null 2>/dev/null
***************
*** 576,581 ****
--- 577,590 ----
### SunOS)
### CFLAGSR="${CFLAGSR} -D_FILE_OFFSET_BITS=64"
### ;;
+ 'OS/390')
+ # RBW -- 2009/08/10 -- special vars for z/OS or OS/390
+ # z/OS kernel still announces itself as OS/390.
+ echo " Z/OS or OS/390 system - setting EBCDIC, etc."
+ # CFLAGSR="${CFLAGSR} -DOS390 -DEBCDIC -DSYSV"
+ CFLAGSR="${CFLAGSR} -DOS390 -DEBCDIC -DSYSV -DNO_PARAM_H"
+ LFLAGS2=""
+ ;;
esac
fi
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
diff -rc ./Makefile patched/Makefile
*** ./Makefile Wed Jun 10 21:49:37 2009
--- patched/Makefile Thu Jun 11 09:07:48 2009
***************
*** 249,257 ****
# the following, but it shouldn't be needed:
#MAKE = gmake
! os390:
! $(MAKE) $(MAKEF) zips CFLAGS="$(CF) -I. -DUNIX -DOS390 -DEBCDIC \
! -DSYSV -DNO_PARAM_H" LFLAGS2=""
# QNX is "special" because out /bin/sh is ksh and it doesn't grok the
# configure script properly, generating a bad flags file. D'oh! [cjh]
--- 249,269 ----
# the following, but it shouldn't be needed:
#MAKE = gmake
!
! # RBW -- 2009/06/10 --
! # It's way past time to bring the mainframe setup into the 21st
! # century - it's been about a decade now, I think.
! # The configure script has fixes to set -DSYSV -DOS390 -DEBCDIC
! # and -DNO_PARAM_H.
! # os390 is effectively just an alias for zos - the z/OS kernel still
! # identifies itself as OS/390 - remind anyone of Solaris?
! # This is really the same technique as the generic target, which
! # should also work now for z/OS systems.
! os390: zos
!
! zos: flags
! eval $(MAKE) $(MAKEF) zips `cat flags`
!
# QNX is "special" because out /bin/sh is ksh and it doesn't grok the
# configure script properly, generating a bad flags file. D'oh! [cjh]
Only in patched: README.zOS
diff -rc ./configure patched/configure
*** ./configure Wed Jun 10 21:49:37 2009
--- patched/configure Thu Jun 11 09:07:51 2009
***************
*** 640,647 ****
CFLAGS="${CFLAGS} ${OPT}"
echo Check for nonexistent include files
! for inc in stdlib.h stddef.h unistd.h fcntl.h string.h
do
echo "#include <$inc>" > conftest.c
$CPP conftest.c >/dev/null 2>/dev/null
--- 640,648 ----
CFLAGS="${CFLAGS} ${OPT}"
+ # RBW -- 2009/06/10 -- added param.h test for z/OS (doesn't have it)
echo Check for nonexistent include files
! for inc in stdlib.h stddef.h unistd.h fcntl.h string.h param.h
do
echo "#include <$inc>" > conftest.c
$CPP conftest.c >/dev/null 2>/dev/null
***************
*** 719,724 ****
--- 720,732 ----
### SunOS)
### CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64"
### ;;
+ 'OS/390')
+ # RBW -- 2009/08/10 -- special vars for z/OS or OS/390
+ # z/OS kernel still announces itself as OS/390.
+ echo " Z/OS or OS/390 system - setting EBCDIC, etc."
+ CFLAGS="${CFLAGS} -DOS390 -DEBCDIC -DSYSV -DNO_PARAM_H"
+ LFLAGS2=""
+ ;;
esac
fi
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html