Browse Source

* A lot of issues fixed

olle 20 years ago
parent
commit
580f993497
4 changed files with 112 additions and 18 deletions
  1. 1 2
      install/macos/Install
  2. 74 7
      install/macos/Installer README
  3. 8 0
      install/macos/maccopy
  4. 29 9
      install/macos/prepare

+ 1 - 2
install/macos/Install

@@ -25,5 +25,4 @@ Echo "-Fu
 Echo "-l" >> "{FPCDIR}bin:fpc.cfg"
 Echo "-l" >> "{FPCDIR}bin:fpc.cfg"
 Echo "-vi" >> "{FPCDIR}bin:fpc.cfg"
 Echo "-vi" >> "{FPCDIR}bin:fpc.cfg"
 
 
-Alert 'The installation was successful.'
-
+Alert 'The installation was successful.¶n¶nLicense information is located in the docs folder'

+ 74 - 7
install/macos/Installer README

@@ -1,15 +1,32 @@
 Welcome to Free Pascal for MPW on classic Mac OS
 Welcome to Free Pascal for MPW on classic Mac OS
 ================================================
 ================================================
 
 
+Please also read the general README file.
+
+NOTE!
+
+Free Pascal for MPW is still considered beta quality and a lot of things
+are still missing. However ordinary programs should be able to compile. And
+the compiler can compile itself.
+
+Things which is not included: IDE, GDB, unitlity programs, demos, FPCMake 
+
+For documentation, please download separatelly.
+
 How to install:
 How to install:
 ---------------
 ---------------
 
 
 1. If  yo do not have MPW, please install MPW first.
 1. If  yo do not have MPW, please install MPW first.
-   MPW can be obtained for free from Apple.
+   MPW can be downloaded for free from Apple, see web page:
+     http://developer.apple.com/tools/mpw-tools/
+   download at:
+     ftp://ftp.apple.com/developer/Tool_Chest/Core_Mac_OS_Tools/MPW_etc./
+   It is then recommended that you upgrade to MPW Shell 3.6b1.
+
 
 
-2. Double click the file "Install". This will launch an
+2. Double click the file "INSTALL". This will launch an
    install script (via the ToolServer application, which is
    install script (via the ToolServer application, which is
-   included in MPW).
+   included in the MPW installation).
 
 
 3. If it is the first time you install Free Pascal,
 3. If it is the first time you install Free Pascal,
    the install script will ask where you want to create the
    the install script will ask where you want to create the
@@ -23,12 +40,62 @@ How to install:
 5. Done.
 5. Done.
 
 
 
 
+What is installed ?
+-------------------
+
+1. The FreePascal folder in a nice place.
+
+2. A file "FPC Startup" in "Startup Items" in MPW.
+
+3. An entry in "FPC Startup" which sets the environment variable FPCDIR
+   to point to the FreePascal folder.
+
+4. An entry in "FPC Startup" which adds the :FreePascal:bin folder to 
+   the Commando search path. 
+
+5. A fpc.cfg file in :FreePascal:bin, with among others, a path to
+   the runtime library (rtl).
+
+Uninstallation
+--------------
+
+1. Delete the FreePascal folder.
+
+2. Delete the file "FPC Startup" from the folder "Startup Items" in MPW
+
+
 Tips
 Tips
 ----
 ----
 
 
-If you want to compile large programs, and in particular the rtl or
-the compiler itself, please increase the memory setting of
-MPW to 50 MB and ToolServer to 30 MB.
+* Usage, in short: To compile e. g. hello.pp, in MPW type:
+    fpc hello.pp
+  And press ENTER. Done.
+
+* If you want to compile large programs, and in particular the rtl
+  or the compiler itself, please increase the memory setting of
+  MPW to 50 MB and ToolServer to 30 MB.
+
+* Note that unit Sysutils.pp is not yet ported to MacOS, thus units
+  dependant on Sysutils.pp does neither work.
+
+* To invoke the compiler you can either use the command 'ppcppc' or 'fpc'.
+  Fpc is a wrapper script which simply call 'ppcppc'
+
+* Use mac style search path's.
+
+* Debugging is not available.
+
+Inner workings
+--------------
+
+FreePascal for MPW is an MPW tool. When FreePascal wants to assemble
+and link, it calls PPCAsm and PPCLink, via ToolServer.
+
+More info
+---------
+
+www.freepascal.org/fpcmac.html
 
 
-An upgrade to MPW Shell 3.6b1 is recommended
+http://www.freepascal.org/wiki/index.php/Target_MacOS
 
 
+http://www.freepascal.org/wiki/index.php/Mode_MacPas

+ 8 - 0
install/macos/maccopy

@@ -0,0 +1,8 @@
+# Script to copy a file, and in the same moment
+# translate possible LF's to CR
+
+Duplicate -y "{1}" {TempFolder}maccopytemp
+SetFile -c 'MPS ' -t 'TEXT' {TempFolder}maccopytemp
+Translate ¶r ¶n < {TempFolder}maccopytemp  > "{2}"
+SetFile -c 'MPS ' -t 'TEXT' "{2}" -l `Evaluate {3}*100`,`Evaluate {4}*100`
+Delete -y {TempFolder}maccopytemp

+ 29 - 9
install/macos/prepare

@@ -1,38 +1,58 @@
 # MPW script to  prepare an installation package
 # MPW script to  prepare an installation package
 # Precondition: fpc:install:macos is current dir.
 # Precondition: fpc:install:macos is current dir.
 
 
+If {1} == ''
+  Echo '#ERROR FPC version must be given as parameter (e. g. 1.9.6)'
+  Exit 1
+Else
+	Set fpcversion "{1}"
+End
+#Set fpcversion '1.9.6'
 Set compilerdir :::compiler:
 Set compilerdir :::compiler:
 Set rtlunitsdir :::rtl:units:powerpc-macos:
 Set rtlunitsdir :::rtl:units:powerpc-macos:
 
 
-Set units 'charset cmem dos getopts heaptrc macostp macpas macutils matrix ¶
-          objects objpas strings system unixutil'
+Set units "charset cmem dos getopts heaptrc macostp macpas macutils matrix objects objpas strings system unixutil"
 
 
 #Obtain path to compression program
 #Obtain path to compression program
 Set -e stuffapp `getFileName -m 'Tell me where the DroppStuff application is'`
 Set -e stuffapp `getFileName -m 'Tell me where the DroppStuff application is'`
-Set stuffolder ":Free Pascal for MPW:"
+Set stuffolder ":fpc-{fpcversion}.powerpc-macos:"
 
 
 Set Exit 0
 Set Exit 0
 Delete -y "{stuffolder}"  ³ Dev:Null
 Delete -y "{stuffolder}"  ³ Dev:Null
 Set Exit 1
 Set Exit 1
 NewFolder "{stuffolder}"
 NewFolder "{stuffolder}"
 
 
-Duplicate :"Installer README"  "{stuffolder}"README
-SetFile -c 'ttxt' -t 'TEXT' "{stuffolder}"README
-
-Duplicate :Install  "{stuffolder}"
-SetFile -c 'MPSX' -t 'TEXT' "{stuffolder}"install
+maccopy ::doc:readme.txt "{stuffolder}README" 1 1
+maccopy :"Installer README MacOS" "{stuffolder}README MacOS" 1 2
+maccopy :Install "{stuffolder}INSTALL" 1 3
+SetFile -c 'MPSX' -t 'TEXT' "{stuffolder}INSTALL"
+#maccopy ::doc:whatsnew.txt "{stuffolder}Whatsnew" 2 1
+#maccopy ::doc:copying.fpc "{stuffolder}Copying.fpc" 2 2
+#maccopy ::doc:copying "{stuffolder}Copying" 2 3
+#maccopy ::doc:faq.txt "{stuffolder}FAQ" 3 1
+#maccopy ::doc:faq.htm "{stuffolder}FAQ.htm" 3 2
+#SetFile -c 'MSIE' -t 'TEXT' "{stuffolder}FAQ.htm"
 
 
 NewFolder "{stuffolder}FreePascal"
 NewFolder "{stuffolder}FreePascal"
 NewFolder "{stuffolder}FreePascal:bin"
 NewFolder "{stuffolder}FreePascal:bin"
 Duplicate "{compilerdir}"ppcppc  "{stuffolder}FreePascal:bin"
 Duplicate "{compilerdir}"ppcppc  "{stuffolder}FreePascal:bin"
 Duplicate "{compilerdir}"utils:fpc.mpw  "{stuffolder}FreePascal:bin:fpc"
 Duplicate "{compilerdir}"utils:fpc.mpw  "{stuffolder}FreePascal:bin:fpc"
 
 
+NewFolder "{stuffolder}FreePascal:docs"
+maccopy ::doc:readme.txt "{stuffolder}FreePascal:docs:README" 1 1
+maccopy :"Installer README MacOS" "{stuffolder}FreePascal:docs:README MacOS" 1 2
+maccopy ::doc:whatsnew.txt "{stuffolder}FreePascal:docs:Whatsnew" 2 1
+maccopy ::doc:copying.fpc "{stuffolder}FreePascal:docs:Copying.fpc" 2 2
+maccopy ::doc:copying "{stuffolder}FreePascal:docs:Copying" 2 3
+maccopy ::doc:faq.txt "{stuffolder}FreePascal:docs:FAQ" 3 1
+maccopy ::doc:faq.htm "{stuffolder}FreePascal:docs:FAQ.htm" 3 2
+SetFile -c 'MSIE' -t 'TEXT' "{stuffolder}FreePascal:docs:FAQ.htm"
+
 NewFolder "{stuffolder}FreePascal:units"
 NewFolder "{stuffolder}FreePascal:units"
 NewFolder "{stuffolder}FreePascal:units:rtl"
 NewFolder "{stuffolder}FreePascal:units:rtl"
 For unit In {units}
 For unit In {units}
   Duplicate "{rtlunitsdir}"{unit}.ppu  "{stuffolder}FreePascal:units:rtl"
   Duplicate "{rtlunitsdir}"{unit}.ppu  "{stuffolder}FreePascal:units:rtl"
   Duplicate "{rtlunitsdir}"{unit}.o  "{stuffolder}FreePascal:units:rtl"
   Duplicate "{rtlunitsdir}"{unit}.o  "{stuffolder}FreePascal:units:rtl"
-  #Echo {unit}
 End
 End
 
 
 If "{stuffapp}" != ""
 If "{stuffapp}" != ""