From 8851794b933fd2ab7c51d0165c1c25b97d290b42 Mon Sep 17 00:00:00 2001
From: Stewart Brodie <sbrodie@gitlab.riscosopen.org>
Date: Tue, 7 Mar 2000 14:20:02 +0000
Subject: [PATCH] Automatic generation of swis.h now more automatic.

Detail:
  New script will search the export directory for headers that should
    be exported SWI symbols for it and only cause them to be included
    if it finds the header file.  This means that unless a component
    in your build actually needs the SWI symbols from another component,
    you no longer require that component to be in your modules file
    purely to enable successful generation of swis.h
Admin:
  Test build performed.

Version 5.03. Tagged as 'RISC_OSLib-5_03'
---
 Makefile       |  6 +++-
 SWIOptions,feb | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++
 VersionASM     |  6 ++--
 VersionNum     | 10 +++----
 s/makehswis    | 55 +-----------------------------------
 5 files changed, 89 insertions(+), 63 deletions(-)
 create mode 100644 SWIOptions,feb

diff --git a/Makefile b/Makefile
index 0289109..e1106da 100644
--- a/Makefile
+++ b/Makefile
@@ -411,6 +411,7 @@ clean_all:
 	${RM} syms.Entries
 	${RM} syms.C_Entries
 	${RM} derived.swis
+	${RM} s.swioptions
 	${RM} s.abssym
 	${RM} s.c_abssym
 	${RM} s.a_abssym
@@ -506,10 +507,13 @@ lib.arthurlib: o.arth_new_n o.arth_old_n o.ArtAsm_n o.ArtAsm_o
 	${LIBFILE} ${LIBFLAGS} $@ o.Arth_new_n o.Arth_old_n o.ArtAsm_n o.ArtAsm_o
 
 # Derived headers:
-derived.swis: s.makehswis h.swisheader
+derived.swis: s.makehswis h.swisheader s.swioptions
 	${AS} ${AFLAGS} -from s.makehswis -to $@
 	settype $@ text
 
+s.swioptions:
+	@SWIOptions
+
 #
 # Rules for exporting:
 #
diff --git a/SWIOptions,feb b/SWIOptions,feb
new file mode 100644
index 0000000..b2772d1
--- /dev/null
+++ b/SWIOptions,feb
@@ -0,0 +1,75 @@
+| Copyright 2000 Pace Micro Technology plc
+|
+| Licensed under the Apache License, Version 2.0 (the "License");
+| you may not use this file except in compliance with the License.
+| You may obtain a copy of the License at
+|
+|     http://www.apache.org/licenses/LICENSE-2.0
+|
+| Unless required by applicable law or agreed to in writing, software
+| distributed under the License is distributed on an "AS IS" BASIS,
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+| See the License for the specific language governing permissions and
+| limitations under the License.
+|
+Remove s.swioptions
+Echo SWIOptions: Searching Hdr: for assembler headers ...
+Echo <32> ; Automatically generated file <Sys$Date> { > s.swioptions }
+
+IfThere Hdr:ADFS         Then Echo <32> GET Hdr:ADFS         { >> s.swioptions }
+IfThere Hdr:ATAPI        Then Echo <32> GET Hdr:ATAPI        { >> s.swioptions }
+IfThere Hdr:BasicTrans   Then Echo <32> GET Hdr:BasicTrans   { >> s.swioptions }
+IfThere Hdr:Buffer       Then Echo <32> GET Hdr:Buffer       { >> s.swioptions }
+IfThere Hdr:ARM3Cache    Then Echo <32> GET Hdr:ARM3Cache    { >> s.swioptions }
+IfThere Hdr:CDROM        Then Echo <32> GET Hdr:CDROM        { >> s.swioptions }
+IfThere Hdr:CDFS         Then Echo <32> GET Hdr:CDFS         { >> s.swioptions }
+IfThere Hdr:ColourPick   Then Echo <32> GET Hdr:ColourPick   { >> s.swioptions }
+IfThere Hdr:ColourTran   Then Echo <32> GET Hdr:ColourTran   { >> s.swioptions }
+IfThere Hdr:DDT          Then Echo <32> GET Hdr:DDT          { >> s.swioptions }
+IfThere Hdr:Debugger     Then Echo <32> GET Hdr:Debugger     { >> s.swioptions }
+IfThere Hdr:DeviceFS     Then Echo <32> GET Hdr:DeviceFS     { >> s.swioptions }
+IfThere Hdr:DMA          Then Echo <32> GET Hdr:DMA          { >> s.swioptions }
+IfThere Hdr:DOSFS        Then Echo <32> GET Hdr:DOSFS        { >> s.swioptions }
+IfThere Hdr:DragASprit   Then Echo <32> GET Hdr:DragASprit   { >> s.swioptions }
+IfThere Hdr:DragAnObj    Then Echo <32> GET Hdr:DragAnObj    { >> s.swioptions }
+IfThere Hdr:Draw         Then Echo <32> GET Hdr:Draw         { >> s.swioptions }
+IfThere Hdr:Econet       Then Echo <32> GET Hdr:Econet       { >> s.swioptions }
+IfThere Hdr:FileCore     Then Echo <32> GET Hdr:FileCore     { >> s.swioptions }
+IfThere Hdr:FilerAct     Then Echo <32> GET Hdr:FilerAct     { >> s.swioptions }
+IfThere Hdr:Filter       Then Echo <32> GET Hdr:Filter       { >> s.swioptions }
+IfThere Hdr:Font         Then Echo <32> GET Hdr:Font         { >> s.swioptions }
+IfThere Hdr:FPEmulator   Then Echo <32> GET Hdr:FPEmulator   { >> s.swioptions }
+IfThere Hdr:Free         Then Echo <32> GET Hdr:Free         { >> s.swioptions }
+IfThere Hdr:FSLock       Then Echo <32> GET Hdr:FSLock       { >> s.swioptions }
+IfThere Hdr:Hourglass    Then Echo <32> GET Hdr:Hourglass    { >> s.swioptions }
+IfThere Hdr:HostFS       Then Echo <32> GET Hdr:HostFS       { >> s.swioptions }
+IfThere Hdr:IIC          Then Echo <32> GET Hdr:IIC          { >> s.swioptions }
+IfThere Hdr:Joystick     Then Echo <32> GET Hdr:Joystick     { >> s.swioptions }
+IfThere Hdr:MakePSFont   Then Echo <32> GET Hdr:MakePSFont   { >> s.swioptions }
+IfThere Hdr:MsgTrans     Then Echo <32> GET Hdr:MsgTrans     { >> s.swioptions }
+IfThere Hdr:RISCOS       Then Echo <32> GET Hdr:RISCOS       { >> s.swioptions }
+IfThere Hdr:Parallel     Then Echo <32> GET Hdr:Parallel     { >> s.swioptions }
+IfThere Hdr:PDriver      Then Echo <32> GET Hdr:PDriver      { >> s.swioptions }
+IfThere Hdr:PDumper      Then Echo <32> GET Hdr:PDumper      { >> s.swioptions }
+IfThere Hdr:Podule       Then Echo <32> GET Hdr:Podule       { >> s.swioptions }
+IfThere Hdr:Portable     Then Echo <32> GET Hdr:Portable     { >> s.swioptions }
+IfThere Hdr:RAMFS        Then Echo <32> GET Hdr:RAMFS        { >> s.swioptions }
+IfThere Hdr:ResourceFS   Then Echo <32> GET Hdr:ResourceFS   { >> s.swioptions }
+IfThere Hdr:ScrBlank     Then Echo <32> GET Hdr:ScrBlank     { >> s.swioptions }
+IfThere Hdr:ScrModes     Then Echo <32> GET Hdr:ScrModes     { >> s.swioptions }
+IfThere Hdr:SCSI         Then Echo <32> GET Hdr:SCSI         { >> s.swioptions }
+IfThere Hdr:SCSIFS       Then Echo <32> GET Hdr:SCSIFS       { >> s.swioptions }
+IfThere Hdr:SharedCLib   Then Echo <32> GET Hdr:SharedCLib   { >> s.swioptions }
+IfThere Hdr:Shell        Then Echo <32> GET Hdr:Shell        { >> s.swioptions }
+IfThere Hdr:Sound        Then Echo <32> GET Hdr:Sound        { >> s.swioptions }
+IfThere Hdr:Squash       Then Echo <32> GET Hdr:Squash       { >> s.swioptions }
+IfThere Hdr:Super        Then Echo <32> GET Hdr:Super        { >> s.swioptions }
+IfThere Hdr:Switcher     Then Echo <32> GET Hdr:Switcher     { >> s.swioptions }
+IfThere Hdr:TaskWindow   Then Echo <32> GET Hdr:TaskWindow   { >> s.swioptions }
+IfThere Hdr:Territory    Then Echo <32> GET Hdr:Territory    { >> s.swioptions }
+IfThere Hdr:Wimp         Then Echo <32> GET Hdr:Wimp         { >> s.swioptions }
+
+Echo <32> END { >> s.swioptions }
+Echo SWIOptions: search complete
+
+SetType s.swioptions Text
diff --git a/VersionASM b/VersionASM
index 451f688..22c308e 100644
--- a/VersionASM
+++ b/VersionASM
@@ -6,9 +6,9 @@
                         GBLS    Module_MinorVersion
                         GBLS    Module_Date
                         GBLS    Module_FullVersion
-Module_MajorVersion     SETS    "5.02"
-Module_Version          SETA    502
+Module_MajorVersion     SETS    "5.03"
+Module_Version          SETA    503
 Module_MinorVersion     SETS    ""
 Module_Date             SETS    "07 Mar 2000"
-Module_FullVersion      SETS    "5.02"
+Module_FullVersion      SETS    "5.03"
                         END
diff --git a/VersionNum b/VersionNum
index 0c79d83..11a13c3 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,15 +1,15 @@
-/* (5.02)
+/* (5.03)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  *
  */
-#define Module_MajorVersion_CMHG        5.02
+#define Module_MajorVersion_CMHG        5.03
 #define Module_MinorVersion_CMHG        
 #define Module_Date_CMHG                07 Mar 2000
 
-#define Module_MajorVersion             "5.02"
-#define Module_Version                  502
+#define Module_MajorVersion             "5.03"
+#define Module_Version                  503
 #define Module_MinorVersion             ""
 #define Module_Date                     "07 Mar 2000"
 
-#define Module_FullVersion              "5.02"
+#define Module_FullVersion              "5.03"
diff --git a/s/makehswis b/s/makehswis
index 0cd470d..55e4d97 100644
--- a/s/makehswis
+++ b/s/makehswis
@@ -116,60 +116,7 @@ string2 SETS    "&":CC:(:STR:value)
         GET     Hdr:IO.GenericIO
         GET     Hdr:ModHand
 
-        GET     Hdr:ADFS
-        GET     Hdr:ATAPI
-        GET     Hdr:BasicTrans
-        GET     Hdr:Buffer
-        GET     Hdr:ARM3Cache
-        GET     Hdr:CDROM
-        GET     Hdr:CDFS
-        GET     Hdr:ColourPick
-        GET     Hdr:ColourTran
-        GET     Hdr:DDT
-        GET     Hdr:Debugger
-        GET     Hdr:DeviceFS
-        GET     Hdr:DMA
-        GET     Hdr:DOSFS
-        GET     Hdr:DragASprit
-        GET     Hdr:DragAnObj
-        GET     Hdr:Draw
-        GET     Hdr:Econet
-        GET     Hdr:FileCore
-        GET     Hdr:FilerAct
-        GET     Hdr:Filter
-        GET     Hdr:Font
-        GET     Hdr:FPEmulator
-        GET     Hdr:Free
-        GET     Hdr:FSLock
-        GET     Hdr:Hourglass
-        GET     Hdr:HostFS
-        GET     Hdr:IIC
-        GET     Hdr:Joystick
-        GET     Hdr:MakePSFont
-        GET     Hdr:MsgTrans
-;       GET     Hdr:NetFS         SWIs defined in Hdr:Econet
-;       GET     Hdr:NetPrint      SWIs defined in Hdr:Econet
-        GET     Hdr:RISCOS
-        GET     Hdr:Parallel
-        GET     Hdr:PDriver
-        GET     Hdr:PDumper
-        GET     Hdr:Podule
-        GET     Hdr:Portable
-        GET     Hdr:RAMFS
-        GET     Hdr:ResourceFS
-        GET     Hdr:ScrBlank
-        GET     Hdr:ScrModes
-        GET     Hdr:SCSI
-        GET     Hdr:SCSIFS
-        GET     Hdr:SharedCLib
-        GET     Hdr:Shell
-        GET     Hdr:Sound
-        GET     Hdr:Squash
-        GET     Hdr:Super
-        GET     Hdr:Switcher
-        GET     Hdr:TaskWindow
-        GET     Hdr:Territory
-        GET     Hdr:Wimp
+        GET     s.swioptions
 
 ; And finally the trailing bits
 
-- 
GitLab