]> sjero.net Git - wget/blobdiff - vms/DESCRIP_SRC_CMN.MMS
imported patch vms-overlay
[wget] / vms / DESCRIP_SRC_CMN.MMS
diff --git a/vms/DESCRIP_SRC_CMN.MMS b/vms/DESCRIP_SRC_CMN.MMS
new file mode 100644 (file)
index 0000000..3f4beaf
--- /dev/null
@@ -0,0 +1,286 @@
+#                                               26 September 2009.  SMS.
+#
+#    Wget 1.12 for VMS - MMS (or MMK) Common Source Description File.
+#
+
+# This description file is included by other description files.  It is
+# not intended to be used alone.  Verify proper inclusion.
+
+.IFDEF INCL_DESCRIP_SRC
+.ELSE
+$$$$ THIS DESCRIPTION FILE IS NOT INTENDED TO BE USED THIS WAY.
+.ENDIF # INCL_DESCRIP_SRC
+
+
+# Define MMK architecture macros when using MMS.
+
+.IFDEF __MMK__                  # __MMK__
+.ELSE                           # __MMK__
+ALPHA_X_ALPHA = 1
+IA64_X_IA64 = 1
+VAX_X_VAX = 1
+.IFDEF $(MMS$ARCH_NAME)_X_ALPHA     # $(MMS$ARCH_NAME)_X_ALPHA
+__ALPHA__ = 1
+.ENDIF                              # $(MMS$ARCH_NAME)_X_ALPHA
+.IFDEF $(MMS$ARCH_NAME)_X_IA64      # $(MMS$ARCH_NAME)_X_IA64
+__IA64__ = 1
+.ENDIF                              # $(MMS$ARCH_NAME)_X_IA64
+.IFDEF $(MMS$ARCH_NAME)_X_VAX       # $(MMS$ARCH_NAME)_X_VAX
+__VAX__ = 1
+.ENDIF                              # $(MMS$ARCH_NAME)_X_VAX
+.ENDIF                          # __MMK__ [else]
+
+# Analyze architecture-related and option macros.
+
+.IFDEF __ALPHA__                # __ALPHA__
+DESTM = ALPHA
+.ELSE                           # __ALPHA__
+.IFDEF __IA64__                     # __IA64__
+DESTM = IA64
+.ELSE                               # __IA64__
+.IFDEF __VAX__                          # __VAX__
+DESTM = VAX
+.ELSE                                   # __VAX__
+DESTM = UNK
+UNK_DEST = 1
+.ENDIF                                  # __VAX__ [else]
+.ENDIF                              # __IA64__ [else]
+.ENDIF                          # __ALPHA__ [else]
+
+.IFDEF LARGE                    # LARGE
+.IFDEF __VAX__                      # __VAX__
+DESTL =
+LARGE_VAX = 1
+.ELSE                               # __VAX__
+DESTL = L
+.ENDIF                              # __VAX__ [else]
+.ELSE                           # LARGE
+DESTL =
+.ENDIF                          # LARGE [else]
+
+DEST = $(DESTM)$(DESTL)
+
+# DASHD options.
+
+.IFDEF DASHD                    # DASHD
+CDEFS_DASHD = , "ENABLE_DEBUG"
+.ELSE                           # DASHD
+CDEFS_DASHD =
+.ENDIF                          # DASHD [else]
+
+# DBG options.
+
+.IFDEF DBG                      # DBG
+CFLAGS_DBG = /debug /nooptimize
+LINKFLAGS_DBG = /debug /traceback
+.ELSE                           # DBG
+CFLAGS_DBG =
+LINKFLAGS_DBG = /notraceback
+.ENDIF                          # DBG [else]
+
+# Large-file options.
+
+.IFDEF LARGE                    # LARGE
+CDEFS_LARGE = , "_LARGEFILE"
+.ELSE                           # LARGE
+CDEFS_LARGE =
+.ENDIF                          # LARGE [else]
+
+.IFDEF HPSSL                    # HPSSL
+CDEFS_SSL = , "HAVE_SSL", "ENABLE_NTLM"
+SSL_LINK_OPT = , [-.VMS]WGET_SSL_HP.OPT /OPTIONS
+.IFDEF OSSL                         # OSSL
+HPSSL_OSSL = 1
+.ENDIF                              # OSSL
+.ELSE                           # HPSSL
+.IFDEF OSSL                         # OSSL
+CDEFS_SSL = , "HAVE_LIBSSL", "ENABLE_NTLM"
+SSL_LINK_OPT = , [-.VMS]WGET_SSL_O.OPT /OPTIONS
+.ELSE                               # OSSL
+CDEFS_SSL =
+SSL_LINK_OPT =
+.ENDIF                              # OSSL [else]
+.ENDIF                          # HPSSL [else]
+
+# User-specified options.
+
+.IFDEF CDEFS_USER               # CDEFS_USER
+CDEFS_USR = , $(CDEFS_USER)
+.ELSE                           # CDEFS_USER
+CDEFS_USR =
+.ENDIF                          # CDEFS_USER [else]
+
+
+# Specific DESCRIP_SRC.MMS defines:
+#    CDEFS
+#    CFLAGS_SPEC
+#    CFLAGS_INCL
+
+CDEFS_CMN = VMS $(CDEFS_DASHD) $(CDEFS_LARGE) $(CDEFS_SSL) $(CDEFS_USR)
+
+
+# Absence of MMSDESCRIPTION_FILE.
+.IFDEF MMSDESCRIPTION_FILE      # MMSDESCRIPTION_FILE
+.ELSE                           # MMSDESCRIPTION_FILE
+NO_MMSDESCRIPTION_FILE = 1
+.ENDIF                          # MMSDESCRIPTION_FILE [else]
+
+
+# Subsidiary directory names.  (Note: DEST must be defined first.)
+
+DIR_LIB = LIB
+DIR_LIB_DEST = [-.$(DIR_LIB).$(DEST)]
+DIR_LIB_DEST_FILE = [-.$(DIR_LIB)]$(DEST).DIR;1
+
+DIR_MD5 = MD5
+DIR_MD5_DEST = [-.$(DIR_MD5).$(DEST)]
+DIR_MD5_DEST_FILE = [-.$(DIR_MD5)]$(DEST).DIR;1
+
+DIR_SRC = SRC
+DIR_SRC_DEST = [-.$(DIR_SRC).$(DEST)]
+DIR_SRC_DEST_FILE = [-.$(DIR_SRC)]$(DEST).DIR;1
+
+DIR_VMS = VMS
+
+# Object library names.
+
+LIB_LIB = $(DIR_LIB_DEST)LIBLIB.OLB
+LIB_MD5 = $(DIR_MD5_DEST)LIBMD5.OLB
+LIB_SRC = $(DIR_SRC_DEST)LIBSRC.OLB
+
+# DECC_VER object name.
+
+DECC_VER_OBJ = $(DIR_SRC_DEST)DECC_VER.OBJ
+
+# Executable names.
+
+WGET_EXE = $(DIR_SRC_DEST)WGET.EXE
+DECC_VER_EXE = $(DIR_SRC_DEST)DECC_VER.EXE
+
+EXES = $(WGET_EXE) \
+       $(DECC_VER_EXE)
+
+# Help file names.
+
+WGET_HLB = [-.$(DIR_VMS)]WGET.HLB
+WGET_HLP = [-.$(DIR_VMS)]WGET.HLP
+
+
+# Complain if warranted.  Otherwise, show destination directory.
+# Make the destination directories, if necessary.
+                               
+.IFDEF UNK_DEST                 # UNK_DEST
+.FIRST
+       @ write sys$output -
+ "   Unknown system architecture."
+.IFDEF __MMK__                      # __MMK__
+       @ write sys$output -
+ "   MMK on IA64?  Try adding ""/MACRO = __IA64__""."
+.ELSE                               # __MMK__
+       @ write sys$output -
+ "   MMS too old?  Try adding ""/MACRO = MMS$ARCH_NAME=ALPHA"","
+       @ write sys$output -
+ "   or ""/MACRO = MMS$ARCH_NAME=IA64"", or ""/MACRO = MMS$ARCH_NAME=VAX"","
+       @ write sys$output -
+ "   as appropriate.  (Or try a newer version of MMS.)"
+.ENDIF                              # __MMK__ [else]
+       @ write sys$output ""
+       I_WILL_DIE_NOW.  /$$$$INVALID$$$$
+.ELSE                           # UNK_DEST
+.IFDEF LARGE_VAX                    # LARGE_VAX
+.FIRST
+       @ write sys$output -
+ "   Macro ""LARGE"" is invalid on VAX."
+       @ write sys$output ""
+       I_WILL_DIE_NOW.  /$$$$INVALID$$$$
+.ELSE                               # LARGE_VAX
+.IFDEF HPSSL_OSSL                       # HPSSL_OSSL
+.FIRST
+       @ write sys$output -
+ "   Macro ""HPSSL"" is incompatible with macro ""OSSL""."
+       @ write sys$output ""
+       I_WILL_DIE_NOW.  /$$$$INVALID$$$$
+.ELSE                                   # HPSSL_OSSL
+.IFDEF NO_MMSDESCRIPTION_FILE               # NO_MMSDESCRIPTION_FILE
+.FIRST
+       @ write sys$output -
+ "   Macro ""MMSDESCRIPTION_FILE"" is not defined as required."
+       @ write sys$output -
+ "   MMK, or MMS too old?  Try adding:"
+       @ write sys$output -
+ "   ""/MACRO = MMSDESCRIPTION_FILE=dev:[dir]description_file"","
+       @ write sys$output -
+ "   as appropriate, where ""dev:[dir]description_file"" is the full path"
+       @ write sys$output -
+ "   to the MMS/MMK description file being used (typically ""DESCRIP.MMS"")."
+       @ write sys$output ""
+       I_WILL_DIE_NOW.  /$$$$INVALID$$$$
+.ELSE                                       # NO_MMSDESCRIPTION_FILE
+.FIRST
+       @ show time
+       @ write sys$output "   Destination: [.$(DEST)]"
+       @ write sys$output ""
+       @ ! Define ODS2 symbols (close enough to MMS macros) according
+       @ ! to the actual "getopt.in.h" name.
+       @ if (f$search( "$(LIB_GETOPT_H_SRC_DU)") .nes. "") then -
+          ODS2DU = 1
+       @ if (f$search( "$(LIB_GETOPT_H_SRC_UD)") .nes. "") then -
+          ODS2UD = 1
+       @ if (f$type( ODS2DU) .nes. "") then -
+          write sys$output -
+           "   (Expecting ODS2 dot-under names for multi-dot file names.)"
+       @ if (f$type( ODS2UD).nes. "") then -
+          write sys$output -
+           "   (Expecting ODS2 under-dot names for multi-dot file names.)"
+       @ if ((f$type( ODS2DU) .nes. "") .or. -
+          (f$type( ODS2UD) .nes. "")) then -
+          write sys$output ""
+.IFDEF ALL_DEST_DIRS_NEEDED                     # ALL_DEST_DIRS_NEEDED
+       @ ! Create all destination directories first.
+       if (f$search( "[-.$(DIR_LIB)]$(DEST).DIR;1") .eqs. "") then -
+        create /directory [-.$(DIR_LIB).$(DEST)]
+       if (f$search( "[-.$(DIR_MD5)]$(DEST).DIR;1") .eqs. "") then -
+        create /directory [-.$(DIR_MD5).$(DEST)]
+       if (f$search( "[-.$(DIR_SRC)]$(DEST).DIR;1") .eqs. "") then -
+        create /directory [-.$(DIR_SRC).$(DEST)]
+.ELSE                                           # ALL_DEST_DIRS_NEEDED
+       @ ! Create this specific destination directory first.
+       if (f$search( "$(DEST).DIR;1") .eqs. "") then -
+        create /directory [.$(DEST)]
+.ENDIF                                          # ALL_DEST_DIRS_NEEDED [else]
+.ENDIF                                      # NO_MMSDESCRIPTION_FILE [else]
+.ENDIF                                  # HPSSL_OSSL [else]
+.ENDIF                              # LARGE_VAX [else]
+.ENDIF                          # UNK_DEST [else]
+
+# UTIME prefix quirk.
+
+.IFDEF __ALPHA__
+UTNP = , __UTC_UTIME
+.ENDIF
+
+.IFDEF __IA64__
+UTNP = , __UTC_UTIME
+.ENDIF
+
+# Architecture-specific CC and LINK flags.
+
+.IFDEF __VAX__                  # __VAX__
+CFLAGS_ARCH = /decc
+.ELSE                           # __VAX__
+CFLAGS_ARCH = /float = ieee_float
+.ENDIF                          # __VAX__ [else]
+
+LFLAGS_ARCH =
+
+# LIST options.
+
+.IFDEF LIST                     # LIST
+# Note: Before DEC C V6.0, "/show = [no]messages" will cause trouble.
+CFLAGS_LIST = /list = $*.LIS /show = (all, nomessages)
+LINKFLAGS_LIST = /map = $*.MAP /cross_reference /full
+.ELSE                           # LIST
+CFLAGS_LIST =
+LINKFLAGS_LIST =
+.ENDIF                          # LIST [else]
+