Mass compilation on all platforms (Unix and Windows shown)

Ken Langendock Ken at Langendock.com
Thu Nov 16 18:57:28 CST 2006


UNIX uses the exact same variable (PH_SBF_LOC).
Hence the use of underscores I assume.

As for VMS, I wish I could tell you. I have not worked on one in along
time.
I have put the word out that I was looking for one, but they seem to be
unobtainable.

Maybe it is PH_SBF_LOC: I would ask Tech support that question. I thru
out my VMS manuals about 12 years ago.

Ken


-----Original Message-----
From: Joe Boyle [mailto:atla38 at dsl.pipex.com] 
Sent: November 16, 2006 7:21 PM
To: Ken at Langendock.com; powerh-l at lists.sowder.com
Subject: RE: Mass compilation on all platforms (Unix and Windows shown)


Just one question, 

on windows the env' variable 'PH_SBF_LOC' will be searched for a subfile
if
1) the variable is set, and 2) no location is specified on the subfile
identifier ( e.g. 'access * unqsf' ); presumably, if the variable
'PH_SBF_LOC' is not set and the CC approach below is used, the subfile
location must be identified by using syntax like 'acc *
$SUBFILES\unqsf'.

My question is this, is there a unix (and/or VMS) equivalent to windows
env'
variable 'PH_SBF_LOC' ?

Regards, Joe.

-----Original Message-----
From: powerh-l-bounces+atla38=dsl.pipex.com at lists.sowder.com
[mailto:powerh-l-bounces+atla38=dsl.pipex.com at lists.sowder.com] On
Behalf Of
Ken Langendock
Sent: 16 November 2006 01:13
To: powerh-l at lists.sowder.com
Subject: Mass compilation on all platforms (Unix and Windows shown)

A lot of discussion about compiling for UNIX has gone around today.
Since I have been building applications that run on VaxVMS, UNIX,
WINDOWS
and HPMPE using ISAM, IMAGE/ELOQUENCE and ORACLE for the past 17 years,
I
have developed a way of making my code portable across all platforms.

I cannot take credit for all of these tricks, many of the following
examples
are a direct result of assistance from Steve and others at Cognos
support
(Thanks Steve) over the last 11 years.

I am sure many people have ways of compiling source code on different
machines. I have found calling QUIZ or QDESIGN from within QTP to retain
subfiles cause memory failures on WINDOWS when compiling a large system.
Because of that I do no use that method on any platform (KISS - Keep it
simple...)

For my example you can compile a complete system (on UNIX and WINDOWS)
by
doing the following:

On UNIX:
$setup.sh (this sets up environment variables for interactive and batch)
$PH_USR/pdl procloc=$PDL dict=$PHDICT CC='(ISAM,$LANGUAGE)'
auto=$PDL/compile.pds
$PH_USR/qtp procloc=$SRC dict=$PHDICT cc='(ISAM,$LANGUAGE)'
auto=$SRC/compile.qts
$PH_USR/quiz procloc=$SRC dict=$PHDICT cc='(ISAM,$LANGUAGE)'
auto=$SRC/compile.qzs
$PH_USR/qdesign procloc=$SRC dict=$PHDICT cc='(ISAM,$LANGUAGE)'
auto=$SRC/compile.qks

On WINDOWS:
call %BAT%\setup.bat (this sets up environment variables for interactive
and
batch) call %PH_USR%\qutil procloc=%PDL% dict=%PHDICT% cc={ISAM,ENGLISH}
auto=%PDL%\compile.pdl call %PH_USR%\qtp procloc=%SRC% dict=%PHDICT%
cc={ISAM,%ENGLISH%} auto=%SRC%\compile.qts call %PH_USR%\quiz
procloc=%SRC%
dict=%PHDICT% cc={ISAM,%ENGLISH%} auto=%SRC%\compile.qzs call
%PH_USR%\qdesign procloc=%SRC% dict=%PHDICT% cc={ISAM,%ENGLISH%}
auto=%SRC%\compile.qks


Also do NOT specify any destination in the BUILD statement. I know
people
love to do that, but if you want the code to be portable forget it.
Instead KISS (keep it simple...):
QTP - RUN MySourceA
QUIZ - BUILD MySourceC
QDESIGN - SCREEN MySourceC

The trick is in the compile script for QTP/QUIZ/QDESIGN. These source
files
work on all platforms but I only showed UNIX and Windows:
;-----------------------------------------------------------------------

; COMPILE.QTS Compiles all QTP source code

;-----------------------------------------------------------------------

 

USE MySourceA.qts NOLIST NODETAIL ; Creates a subfile

@if WINDOWS                                                           
!if not "%PHTEMP%"=="" copy %PHTEMP%\*.*d %SUBFILES% >nul 2>&1

@elseif UNIX

!cp $PHTEMP/* $SUBFILES/

@endif

exit  

;-----------------------------------------------------------------------

; COMPILE.QZS Compiles all QUIZ source code

;-----------------------------------------------------------------------

@if WINDOWS

!copy %SUBFILES%\*.* %PHTEMP% >nul 2>&1

@elseif UNIX

!cp $SUBFILES/* $PHTEMP/

@endif


USE MySourceB.qzs NOLIST NODETAIL ; Uses a subfile created in QTP
extract

;-----------------------------------------------------------------------

; COMPILE.QKS Compiles all QDESIGN source code

;-----------------------------------------------------------------------

@if WINDOWS

!copy %SUBFILES%\*.* %PHTEMP% >nul 2>&1

@elseif UNIX

!cp $SUBFILES/* $PHTEMP/

@endif


USE MySourceC.qks NOLIST NODETAIL ; Uses a subfile created in QTP
extract


--
= = = = = = = = = = = = = = = = = = = = = = = = = = = = Mailing list:
powerh-l at lists.sowder.com
Subscribe: "subscribe" in message body to
powerh-l-request at lists.sowder.com
Unsubscribe: "unsubscribe <password>" in message body to
powerh-l-request at lists.sowder.com
http://lists.sowder.com/mailman/listinfo/powerh-l
This list is closed, thus to post to the list you must be a subscriber.
Add 'site:lists.sowder.com powerh-l' to your search terms to search the
list
archive at Google.



More information about the powerh-l mailing list