OpenVMS Source-Code Demos

BUILD_MOD_AUTH_VMS_EXT

$!=====================================================================================================================
$! title  : build_mod_auth_vms_ext.com
$! created: 2015-03-03 (derived from: build_mod_auth_openvms.com)
$! author : Neil Rieck
$!=====================================================================================================================
$! notes:
$! 1) Apache source code kits for OpenVMS are available by anonymous FTP from HP:
$!					ftp.hp.com/pub/openvms/apache/
$! 2) For some reason only HP knows,	kit version 202 is newer and larger
$!					kit version 211 is older and smaller (this script uses 211)
$! 3) I unpacked APACHE-SRC-KIT-V202.BCK into sub folder: [.HTTPD-202]
$!    Then I unpacked these files into a sub-sub-folder like so:
$!	$back *.bck/save  [.src...]
$!	yielding:	[.src.build...]
$!			[.src.build1.php...]
$!			[.src.csws-v202-1....]
$! 4) --- optional ---
$!    I unpacked APACHE-SRC-KIT-V211.BCK into sub folder: [.HTTPD-211]
$!    Then I unpacked these files into a sub-sub-folder like so:
$!	$back *.bck/save  [.src...]
$!	yielding:	[.src.build...]
$!=====================================================================================================================
$ say :== write sys$output
$ ask :== inquire/nopunc
$ if p1 .eqs. ""
$ then
$	say "----------"
$	dir/col=1 MOD_AUTH_VMS_EXT*.C;/nohead/notrail
$	say "----------"
$	ask version "desired version? (eg. 100, hit <enter> for no version, Q=quit) "
$	if version .eqs. "Q" then exit
$ else
$	version = p1
$ endif
$ if (version .nes."") then version = "_"+ version
$ ask choice "compile new source? (y/N) "
$ choice = f$edit(choice,"UPCASE")
$ if (choice .nes. "Y") then goto skip_compile
$! ---------------------------------
$! note: a slower but more careful VMS compile might look like this:
$!	/include=(
$!		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2...VMS...]	,	-
$!		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2...]	)	-
$! ---------------------------------
$! compiler switches to investigate for use with Apache:
$!	/standard=common	! Apache uses older standards for maximum portability
$!	/define=eapi		! not needed with Apache-2 since SSL is baked-in
$! ---------------------------------
$ say "-i-compiling (fast): mod_auth_vms_ext",version,".c"
$ cc	/pointer=32				-
	/prefix=all				-
	/share					-
	/include=(				-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.HTTPD.include]		,	-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.HTTPD.os.VMS]		,	-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.APR.include]		,	-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.APR.include.arch.VMS]	,	-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.APL.PortLIB]		,	-
		[.HTTPD-211.SRC.BUILD.apache.ALPHA-CSWS-V0201-1-ECO-2.APU.include]		)	-
	mod_auth_vms_ext'version'.c
$ skip_compile:
$ say "-i-linking: mod_auth_vms_ext",version
$ link/share=mod_auth_vms_ext.exe mod_auth_vms_ext'version',sys$input:/option
        IDENTIFICATION="CSWS V2.2"                              ! VMS Apache version
        BUILD_IDENT="HTTPD V2.0.63"                             ! Apache HTTP version
        GSMATCH=LEQUAL,2,0                                      ! must be Apache 2.0 or higher
	SYMBOL_VECTOR=(AUTH_VMS_EXT_MODULE=DATA)		! see: "extern module" in pgm.c
	! these logical names point to Apache shares
	APACHE$HTTPD_SHR	/share
	APACHE$APR_SHR		/share
	APACHE$APR_SHRP		/share
$!
$ say "----------"
$ dir/col=1 MOD_AUTH_VMS_EXT*.exe;/date/nohead/notrail/width=file=50
$ say "----------"
$ ask choice2 "Publish binary on current Apache? (y/N) "
$ choice2 = f$edit(choice2,"UPCASE")
$ if (choice2 .eqs. "Y")
$ then
$	copy/log  mod_auth_vms_ext.exe  apache$common:[modules]
$ else
$	say "-i-not copied"
$ endif
$ say "-i-adios"