1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
# MPW script to prepare an installation package
# Precondition: fpc:install:macos is current dir.
# Parameter 1: version number, e. g. 1.9.6
# Parameter 2: path to the dir where fpc was build
# (the dir containg compiler rtl etc) (with trailing colon)
If {1} == ''
Echo '#ERROR FPC version must be given as first parameter (e. g. 1.9.6)'
Exit 1
Else
Set fpcversion "{1}"
End
If {2} == ''
Echo '#ERROR Path to the dir where fpc was built must be given as second parameter'
Exit 1
Else
Set builtfpcdir "{2}"
End
Set compilerdir "{2}compiler:"
Set rtlunitsdir "{2}rtl:units:powerpc-macos:"
Set units "charset cmem dos getopts heaptrc macostp macpas macutils matrix objects objpas strings system unixutil macos"
#Obtain path to compression program
Set -e stuffapp `getFileName -m 'Tell me where the DroppStuff application is'`
Set stuffolder ":fpc-{fpcversion}.powerpc-macos:"
Set Exit 0
Delete -y "{stuffolder}" Dev:Null
Set Exit 1
NewFolder "{stuffolder}"
maccopy ::doc:readme.txt "{stuffolder}README" 1 1
maccopy :"Installer README" "{stuffolder}README MacOS" 1 2
maccopy :Install "{stuffolder}INSTALL" 1 3
SetFile -c 'MPSX' -t 'TEXT' "{stuffolder}INSTALL"
NewFolder "{stuffolder}FreePascal"
NewFolder "{stuffolder}FreePascal:bin"
Duplicate "{compilerdir}"ppcppc "{stuffolder}FreePascal:bin"
Duplicate "{compilerdir}"utils:ppudump "{stuffolder}FreePascal:bin"
Duplicate "{compilerdir}"utils:ppufiles "{stuffolder}FreePascal:bin"
Duplicate "{compilerdir}"utils:ppumove "{stuffolder}FreePascal:bin"
maccopy "{compilerdir}"utils:fpc "{stuffolder}FreePascal:bin:fpc"
NewFolder "{stuffolder}FreePascal:docs"
maccopy ::doc:readme.txt "{stuffolder}FreePascal:docs:README" 1 1
maccopy :"Installer README" "{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:rtl"
For unit In {units}
Duplicate "{rtlunitsdir}"{unit}.ppu "{stuffolder}FreePascal:units:rtl"
Duplicate "{rtlunitsdir}"{unit}.o "{stuffolder}FreePascal:units:rtl"
End
NewFolder "{stuffolder}FreePascal:demo"
NewFolder "{stuffolder}FreePascal:demo:text"
maccopy :::demo:text:blackbox.pp "{stuffolder}FreePascal:demo:text:blackbox.pp"
maccopy :::demo:text:eratos.pp "{stuffolder}FreePascal:demo:text:eratos.pp"
maccopy :::demo:text:hello.pp "{stuffolder}FreePascal:demo:text:hello.pp"
maccopy :::demo:text:magic.pp "{stuffolder}FreePascal:demo:text:magic.pp"
maccopy :::demo:text:qsort.pp "{stuffolder}FreePascal:demo:text:qsort.pp"
NewFolder "{stuffolder}FreePascal:demo:macos"
maccopy :::demo:macos:HelloMac.pp "{stuffolder}FreePascal:demo:macos:HelloMac.pp"
maccopy :::demo:macos:HelloMac.r "{stuffolder}FreePascal:demo:macos:HelloMac.r"
If "{stuffapp}" != ""
"{stuffapp}" "{stuffolder}"
End
|