path: root/riscos
diff options
authorJohn Mark Bell <>2008-12-09 11:12:58 +0000
committerJohn Mark Bell <>2008-12-09 11:12:58 +0000
commit71db29f5b05659a760f91ce0a5f0901786d0fea3 (patch)
tree25127d339423c7453412e98a28776c967de1f227 /riscos
parent3e715853118e88880f1783d6baffd6638f4ccf63 (diff)
Build !Run at compile time. This ensures that the WimpSlot size is always correct.
svn path=/trunk/netsurf/; revision=5889
Diffstat (limited to 'riscos')
1 files changed, 112 insertions, 0 deletions
diff --git a/riscos/scripts/Run b/riscos/scripts/Run
new file mode 100644
index 000000000..fe9980df3
--- /dev/null
+++ b/riscos/scripts/Run
@@ -0,0 +1,112 @@
+| Run file for NetSurf. ( $Revision$ )
+| This file ensures that the system resources required by NetSurf are
+| present. Additionally, it forces setting of system variables related
+| to NetSurf.
+| Set system variables and application sprites
+Set NetSurf$ForceVars 1
+UnSet NetSurf$ForceVars
+| Detect if NetSurf is already running and, if so, force the
+| current instance to open a new window. Then stop this script.
+Set Alias$NetSurfRunning UnSet Alias$NetSurfRunning|mUnSet NetSurf$Running|mObey
+Set NetSurf$Running 0
+WimpSlot -min 64k -max 64k
+| If not running, then unset system variables and continue
+If "<NetSurf$Running>" = "0" Then Set Alias$NetSurfRunning UnSet Alias$NetSurfRunning|mUnSet NetSurf$Running
+| Invoke our alias to clean up
+| Resource Locations
+| The following are read-only locations
+SetMacro NetSurf$Path Choices:WWW.NetSurf.,<NetSurf$Dir>.
+| The following are write-only locations
+SetMacro NetSurf$ChoicesSave <Choices$Write>.WWW.NetSurf.Choices
+| We need RISC OS 3
+RMEnsure UtilityModule 3.00 Error NetSurf needs RISC OS 3 or later
+| Ensure Nested WIMP is installed
+| (in the universal boot archive)
+RMEnsure WindowManager 3.80 Error NetSurf requires the Nested Window Manager. This can be obtained by downloading the Universal Boot sequence from
+| Check for various key resources - can't do much if they don't exist
+If "<System$Path>" = "" Then Set System$Path_Message System resources not found.
+If "<Wimp$ScrapDir>" = "" Then Error Scrap resource not found.
+If "<InetDBase$Path>" = "" Then Error Internet resources can not be found
+If "<Unicode$Path>" = "" Then Error NetSurf requires the !Unicode resource. This can be found, along with the Iconv module, at
+If "<Inet$MimeMappings>" = "" Then Set Inet$MimeMappings InetDBase:MimeMap
+| Define this alias for clarity
+| Syntax: NetSurfRMLoad <Path to module>
+Set Alias$NetSurfRMLoad IfThere %%*0 Then RMLoad %%*0
+| Ensure a 32bit SharedCLibrary is installed
+| (5.17 == first 32bit SCL, 5.43 == C99 features)
+RMEnsure SharedCLibrary 5.17 NetSurfRMLoad System:Modules.CLib
+RMEnsure SharedCLibrary 5.43 Error NetSurf requires SharedCLibrary 5.43 or later. This can be downloaded from
+| Ensure CallASWI is installed
+RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 NetSurfRMLoad System:Modules.CallASWI
+RMEnsure UtilityModule 3.70 RMEnsure CallASWI 0.02 Error NetSurf requires the CallASWI module. This can be downloaded from
+| Ensure DrawFile module is installed
+| Should be installed in !System.310.Modules
+RMEnsure DrawFile 1.30 NetSurfRMLoad System:Modules.DrawFile
+RMEnsure DrawFile 1.30 Error NetSurf requires the DrawFile module. An old verson of this can be downloaded from
+| Ensure SharedUnixLibrary is installed
+RMEnsure SharedUnixLibrary 1.07 NetSurfRMLoad System:Modules.SharedULib
+RMEnsure SharedUnixLibrary 1.07 Error NetSurf requires SharedUnixLibrary 1.07 or later. This can be downloaded from
+| Load AcornURI if it isn't already
+Unset NetSurf$Start_URI_Handler
+RMEnsure AcornURI 0.12 Set NetSurf$Start_URI_Handler 1
+RMEnsure AcornURI 0.12 NetSurfRMLoad System:Modules.Network.URI
+RMEnsure AcornURI 0.12 Error NetSurf requires AcornURI 0.12 or later. A version of this can be found at
+RMEnsure AcornURI 0.12 Unset NetSurf$Start_URI_Handler
+| Check for mime map module
+RMEnsure MimeMap 0.10 NetSurfRMLoad System:Modules.Network.MimeMap
+RMEnsure MimeMap 0.10 Error NetSurf requires MimeMap 0.10 or later
+| Ensure Tinct is loaded
+RMEnsure Tinct 0.13 NetSurfRMLoad System:Modules.Tinct
+RMEnsure Tinct 0.13 Error NetSurf requires Tinct 0.13 or later. This can be downloaded from
+| Ensure Iconv
+RMEnsure Iconv 0.10 NetSurfRMLoad System:Modules.Iconv
+RMEnsure Iconv 0.10 Error NetSurf requires Iconv 0.10 or later. This can be downloaded from
+| Disable SpecialFX, if present
+Set NetSurf$SpecialFX 1
+RMEnsure SpecialFX 1.00 Set NetSurf$SpecialFX 0
+If <NetSurf$SpecialFX> Then SpecialFX ~B~G~L NetSurf
+Unset NetSurf$SpecialFX
+| No longer need this alias
+Unset Alias$NetSurfRMLoad
+| Now attempt to create Scrap directories
+CDir <Wimp$ScrapDir>.WWW
+CDir <Wimp$ScrapDir>.WWW.NetSurf
+| Install NetSurf-specific fonts
+| NB: trailing dot is required
+FontInstall NetSurf:Resources.Fonts.
+Run <NetSurf$Dir>.!RunImage -v %*0 2><Wimp$ScrapDir>.WWW.NetSurf.Log
+| Uninstall NetSurf-specific fonts
+FontRemove NetSurf:Resources.Fonts.