Переглянути джерело

Delete README_build_eng_macOS_manually.txt

Michael 2 місяців тому
батько
коміт
d35f987fc8
1 змінених файлів з 0 додано та 556 видалено
  1. 0 556
      README_build_eng_macOS_manually.txt

+ 0 - 556
README_build_eng_macOS_manually.txt

@@ -1,556 +0,0 @@
-# How to download, compile and install FreeOberon on macOS
-
-This is a step by stop instruction how to get, compile and run FreeOberon.
-
-- FreeOberon (FreeOberon) is a frontend with a text editor like Turbo Pascal for DOS
-- ofront+ (OfrontPlus) is a Oberon to C source code translator
-- OfrontPlus bootstrap (OfrontPlus-bootstrap) - some lowlevel bootstrap code differs for every target machine
-
-
-## Step 1 - Requirements
-
-Make sure you have the following packages installed.
-
-### Install Allegro5
-
-```
-% brew install allegro
-```
-(If you do not have brew, install it, see https://brew.sh )
-
-For more details about Allegro5, see https://github.com/liballeg/allegro5
-
-If you are not sure if you have Allegro alredy installed.
-```
-% brew info allegro
-==> allegro: stable 5.2.10.1 (bottled), HEAD
-C/C++ multimedia library for cross-platform game development
-https://liballeg.org/
-Installed
-...
-```
-
-
-
-## Step 2 - Create a working folder
-
-Open Terminal and create a working folder.
-
-For example:
-
-```
-% mkdir FreeOberon
-% cd FreeOberon
-```
-
-
-## Step 3 - Download FreeOberon, ofront+ and OfrontPlus-bootstrap
-
-Choose Button Code, then Download ZIP.
-
-- Download zip FreeOberon, https://github.com/kekcleader/FreeOberon
-- Download zip ofront+, https://github.com/Oleg-N-Cher/OfrontPlus
-- Download zip https://github.com/Oleg-N-Cher/OfrontPlus-bootstrap
-
-Place all zip files into your working folder.
-
-
-
-## Step 4 - Unpack
-
-- macOS, open Finder, double click zip for every zip you downloaded before.
-
-Now you should have the follwing folder structure:
-
-```
-FreeOberon-main/
-OfrontPlus-master/
-OfrontPlus-bootstrap-master/
-
-FreeOberon-main.zip
-OfrontPlus-bootstrap-master.zip
-OfrontPlus-master.zip
-```
-
-
-
-## Step 5 - Copy bootstrap unix-88 to FreeOberon
-
-% cp ./OfrontPlus-bootstrap-master/unix-88/*  ./OfrontPlus-master/Target/macOS/Obj
-% cp ./OfrontPlus-bootstrap-master/unix-88/*  ./OfrontPlus-master/Target/macOS/Lib/Obj
-
-
-## Step 6 - compile libOfront
-
-```
-% cd ./OfrontPlus-master/Target/macOS/Lib/Bin
-% ./cc
-```
-
-This creates
-```
-OfrontPlus-master/Target/macOS/Lib/libOfront.a
-```
-
-
-Go back to your WORKING folder:
-
-```
-cd ../../../../..
-```
-
-
-
-
-
-## Step 7 - compile ofront+ and tools
-
-
-```
-% cd ./OfrontPlus-master/Target/macOS/Bin
-% ./cc
-```
-
-
-This will create:
-
-```
-./Target/macOS/graphviz
-./Target/macOS/ocat
-./Target/macOS/odc2txt
-./Target/macOS/oef
-./Target/macOS/ofront+
-./Target/macOS/omake
-./Target/macOS/showdef
-```
-
-
-Go back to your WORKING folder:
-
-```
-cd ../../../..
-```
-
-
-
-
-## Step 8 - check if ofront+ is working
-
-Check if the new ofront+ is working with
-
-```
-% ./OfrontPlus-master/Target/macOS/ofront+
-```
-
-It should display something like this:
-
-```
-Ofront+ (TM) - Oberon family of languages to C Translator v1.0
-Copyright (c) Software Templ OG, 1995-2020 & VEDAsoft Oberon Club, 2013-2025
-
-  command = "ofront+" options {file options}.
-  options = ["-" {option} ].
-  option  = "m" | "s" | "e" | "i" | "r" | "x" | "a" | "p" | "t" | "f" | "d"
-            [ "1" | "2" | "C" | "7" | "3" ]    [ "21" |"44" |"48" | "88" ].
-       "m": generate a main module                                  (off)
-       "s": allow changing the symbol file                          (off)
-       "e": allow extending the module interface                    (off)
-       "i": include header and body prefix files (Module.h0/.c0)    (off)
-       "r": check value ranges                                      (off)
-       "x": check array indices                                      (on)
-       "a": check assertions                                         (on)
-       "p": pointer initialization                                   (on)
-       "t": check type guards                                        (on)
-       "f": allow "proper FOR" (concept by Oleg Komlev)             (off)
-       "d": translate a module into dynamic library (.dll/.so)      (off)
-       "w": UTF-8 to UCS-2 wide character transcoding enabled       (off)
-  "1": Oberon "2": Oberon-2 "C": Component Pascal "7": Oberon-07 "3": Oberon-3
-  "21": 16-bit addresses, SIZE(SET) = 1 byte (e.g. Zilog Z80 CPU)
-  "44": 32-bit addresses, 32-bit alignment (32-bit UNIX/Linux on x86)
-  "48": 32-bit addresses, 64-bit alignment (32-bit Windows, 32-bit Linux/ARMv7)
-  "88": 64-bit addresses, 64-bit alignment (64-bit platforms)
-```
-
-
-
-
-
-
-
-
-## Step 9 - Put OfontPlus in place to FreeOberon
-
-
-Rename old folder for backup:
-
-```
-% mv FreeOberon-main/Data/bin/OfrontPlus  FreeOberon-main/Data/bin/OfrontPlus-NOT-USED
-```
-
-Copy the wohle OfrontPlus-master to your FreeOberbon OfrontPlus folder:
-
-```
-% cp -R ./OfrontPlus-master/  ./FreeOberon-main/Data/bin/OfrontPlus
-```
-
-
-
-
-
-
-## Step 10 - compile if ofront+ Lib/Bin
-
-```
-% cd ./FreeOberon-main/Data/bin/OfrontPlus/Target/macOS/Lib/Bin
-% ./build
-```
-
-Output:
-
-```
-Heap.cp  translating Heap  new symbol file    20010    
-Platform.Unix.cp  translating Platform  new symbol file    23040    
-Console.cp  translating Console  new symbol file    4907    
-Kernel.cp  translating Kernel  new symbol file    4968    
-CmdArgs.Unix.cp  translating CmdArgs  new symbol file    4060    
-Math.cp  translating Math  new symbol file    21309    
-MathL.cp  translating MathL  new symbol file    21743    
-Reals.cp  translating Reals  new symbol file    10584    
-Strings.cp  translating Strings  new symbol file    11155    
-Files.cp  translating Files  new symbol file    35070    
-Modules.cp  translating Modules  new symbol file    3365    
-Texts.cp  translating Texts  new symbol file    56426    
-Oberon.cp  translating Oberon  new symbol file    3062    
-ecoBigSets.cp  translating ecoBigSets  new symbol file    6307    
-ecoBuffer.cp  translating ecoBuffer  new symbol file    1303    
-ecoListen.cp  translating ecoListen  new symbol file    3277    
-ecoLists.cp  translating ecoLists  new symbol file    12453    
-ecoParser.cp  translating ecoParser  new symbol file    21057    
-ecoVector.cp  translating ecoVector  new symbol file    8679    
-Zlib.ob2  translating Zlib  new symbol file    2463    
-ZlibBuffers.ob2  translating ZlibBuffers  new symbol file    6540    
-ZlibDeflate.ob2  translating ZlibDeflate  new symbol file    69756    
-ZlibInflate.ob2  translating ZlibInflate  new symbol file    54967    
-ZlibReaders.ob2  translating ZlibReaders  new symbol file    4659    
-ZlibWriters.ob2  translating ZlibWriters  new symbol file    6290    
-Zip.ob2  translating Zip  new symbol file    25496    
-oo2cAscii.cp  translating oo2cAscii  new symbol file    240    
-oo2cConvTypes.cp  translating oo2cConvTypes  new symbol file    629    
-oo2cLongStrings.cp  translating oo2cLongStrings  new symbol file    18119    
-oo2cRandomNumbers.cp  translating oo2cRandomNumbers  new symbol file    1753    
-oo2cStrings.cp  translating oo2cStrings  new symbol file    16056    
-powStrings.cp  translating powStrings  new symbol file    20381    
-SDL2.cp  translating SDL2  new symbol file    7748    
-SDL2mixer.cp  translating SDL2mixer  new symbol file    3963    
-SQLite.cp  translating SQLite  new symbol file    1035    
-Out.cp  translating Out  new symbol file    11490    
-In.cp  translating In  new symbol file    5689    
-Graph.cp  translating Graph  new symbol file    56349    
-Sound.cp  translating Sound  new symbol file    1585    
-Turtle.cp  translating Turtle  new symbol file    5127    
-libCurl.cp  translating libCurl  new symbol file    662    
-NetHttp.cp  translating NetHttp  new symbol file    3921    
-arArgs.ob2  translating arArgs  new symbol file    810    
-arC.ob2  translating arC  new symbol file    41    
-arCFormat.ob2  translating arCFormat  new symbol file    664    
-arChar.ob2  translating arChar  new symbol file    1104    
-arCString.ob2  translating arCString  new symbol file    1281    
-arDir.ob2  translating arDir  new symbol file    2419    
-arMath.ob2  translating arMath  new symbol file    1518    
-arSize.ob2  translating arSize  new symbol file    1884    
-arStrings.ob2  translating arStrings  new symbol file    7951    
-arStringList.ob2  translating arStringList  new symbol file    4611    
-arStringAssoc.ob2  translating arStringAssoc  new symbol file    4719    
-arText.ob2  translating arText  new symbol file    15330    
-arStream.ob2  translating arStream  new symbol file    4777    
-arFile.ob2  translating arFile  new symbol file    8089    
-arOut.ob2  translating arOut  new symbol file    2562    
-arPath.ob2  translating arPath  new symbol file    1887    
-arPattern.ob2  translating arPattern  new symbol file    11486    
-arErr.ob2  translating arErr  new symbol file    2562    
-arConfiguration.ob2  translating arConfiguration  new symbol file    28120    
-arValue.ob2  translating arValue  new symbol file    57887    
-arFormat.ob2  translating arFormat  new symbol file    11379    
-arJSON.ob2  translating arJSON  new symbol file    11239    
-bbLinLibc.cp  translating bbLinLibc  new symbol file    6323    
-bbLinLibW.cp  translating bbLinLibW  new symbol file    2200    
-bbKernel.Unix.cp  translating bbKernel  new symbol file    10413    
-bbMath.cp  translating bbMath  new symbol file    16473    
-bbStrings.cp  translating bbStrings  new symbol file    41850    
-```
-
-
-Back to working folder:
-
-```
-% cd ../../../../../../../..
-```
-
-
-
-Build OfrontPlus bin:
-
-
-```
-% cd ./FreeOberon-main/Data/bin/OfrontPlus/Target/macOS/Bin
-% ./build
-```
-
-Output:
-
-```
-OfrontErrors.cp  translating OfrontErrors  new symbol file    19678    
-OfrontOPM.cmdln.cp  translating OfrontOPM  new symbol file    42996    
-OfrontOPS.cp  translating OfrontOPS  new symbol file    28147    
-OfrontOPT.cp  translating OfrontOPT  new symbol file    107556    
-OfrontOPB.cp  translating OfrontOPB  new symbol file    126989    
-OfrontOPP.cp  translating OfrontOPP  new symbol file    122247    
-OfrontOPC.cp  translating OfrontOPC  new symbol file    95485    
-OfrontOPV.cp  translating OfrontOPV  new symbol file    77696    
-BrowserCmd.cp  translating BrowserCmd  main program    30742    
-ImportGraph.cp  translating ImportGraph  main program    19081    
-OCatCmd.cp  translating OCatCmd  main program    1777    
-OfrontCmd.cp  translating OfrontCmd  main program    3229    
-OdcToText.ob3  translating OdcToText  main program    14612    
-OEF.ob2  translating OEF  main program    10709    
-OMake.ob2  translating OMake  main program    26579    
-```
-
-
-
-This creates updates also a new libOftront.a
-
-```
-./macOS/Lib/libOfront.a
-```
-
-
-Back to working folder:
-
-```
-cd ../../../../../../..
-```
-
-
-
-## Step 11 - compile FreeOberon
-
-
-```
-% cd FreeOberon-main
-
-% bash ./install.sh
-```
-
-
-```
-  This script will install Free Oberon.
-
-Free Oberon dependencies are:
- * Allegro5 - for the module Graph and the graphical IDE
- * Git - to download Ofront+
- * GCC - to compile the generated C-code
-
-You can find the information on how to install the dependencies
-in the README.md file.
-
-Debian / Ubuntu / Linux Mint etc.:
-  sudo apt-get update
-  sudo apt-get install -y git gcc libc-dev liballegro5-dev liballegro-image5-dev liballegro-audio5-dev liballegro-acodec5-dev
-or, if sudo is not installed (on Debian):
-  su
-  apt-get update
-  apt-get install -y git gcc libc-dev liballegro5-dev liballegro-image5-dev liballegro-audio5-dev liballegro-acodec5-dev
-
-Fedora:
-  sudo dnf install -y git gcc glibc-devel allegro5-devel allegro5-addon-image allegro5-addon-audio allegro5-addon-acodec allegro5-devel allegro5-addon-image-devel allegro5-addon-audio-devel allegro5-addon-acodec-devel
-
-Arch Linux:
-  sudo pacman -Sy git gcc pkgconf glibc allegro
-
-openSUSE:
-  sudo zypper install -y git gcc glibc-devel liballegro5_2-devel liballegro_audio5_2-devel liballegro_image5_2-devel liballegro_primitives5_2-devel liballegro_dialog5_2-devel liballegro_acodec5_2-devel liballegro_acodec5_2-devel liballegro_font5_2-devel
-
-  Are the dependencies installed? [y/n] y
-
-
-  Downloading Ofront+...
-  ~~~~~~~~~~~~~~~~~~~~~~
-  Ofront+ already present.
-  If there are errors in installation process, delete Data/bin/OfrontPlus
-
-  Building Ofront+...
-  ~~~~~~~~~~~~~~~~~~~
-OfrontErrors.cp  translating OfrontErrors    19678    
-OfrontOPM.cmdln.cp  translating OfrontOPM    42996    
-OfrontOPS.cp  translating OfrontOPS    28147    
-OfrontOPT.cp  translating OfrontOPT    107556    
-OfrontOPB.cp  translating OfrontOPB    126989    
-OfrontOPP.cp  translating OfrontOPP    122247    
-OfrontOPC.cp  translating OfrontOPC    95485    
-OfrontOPV.cp  translating OfrontOPV    77696    
-BrowserCmd.cp  translating BrowserCmd  main program    30742    
-ImportGraph.cp  translating ImportGraph  main program    19081    
-OCatCmd.cp  translating OCatCmd  main program    1777    
-OfrontCmd.cp  translating OfrontCmd  main program    3229    
-OdcToText.ob3  translating OdcToText  main program    14612    
-OEF.ob2  translating OEF  main program    10709    
-OMake.ob2  translating OMake  main program    26579    
-
-  Building Free Oberon...
-  ~~~~~~~~~~~~~~~~~~~~~~~
-Config.Mod  translating Config  new symbol file    521    
-Func.Mod  translating Func  new symbol file    483    
-Utf8.Mod  translating Utf8  new symbol file    5825    
-Strings.Mod  translating Strings  new symbol file    7897    
-Reals.Mod  translating Reals  new symbol file    15180    
-Int.Mod  translating Int  new symbol file    3052    
-Time.Mod  translating Time  new symbol file    2640    
-In.Mod  translating In  new symbol file    8553    
-Out.Mod  translating Out  new symbol file    5624    
-Debug.Mod  translating Debug  new symbol file    1735    
-Args.Mod  translating Args  new symbol file    1250    
-Env.Mod  translating Env  new symbol file    7266    
-Files.Mod  translating Files  new symbol file    40029    
-Texts.Mod  translating Texts  new symbol file    23418    
-Random.Mod  translating Random  new symbol file    1708    
-StrList.Mod  translating StrList  new symbol file    4534    
-Dir.Mod  translating Dir  new symbol file    5624    
-Allegro5.Mod  translating Allegro5  new symbol file    15576    
-Graph.Mod  translating Graph  new symbol file    77947    
-Sound.Mod  translating Sound  new symbol file    2750    
-TermBox.Mod  translating TermBox  new symbol file    32464    
-Term.Mod  translating Term  new symbol file    1074    
-OV.Mod  translating OV  new symbol file    90505    
-FoStrings.Mod  translating FoStrings  new symbol file    6937    
-EditorText.Mod  translating EditorText  new symbol file    28820    
-Editor.Mod  translating Editor  new symbol file    66519    
-Builder.Mod  translating Builder  new symbol file    36655    
-FreeOberon.Mod  translating FreeOberon  main program    62964    
-Fob.Mod  translating Fob  main program    4846    
-FreeOberon.c:454:9: warning: passing arguments to 'ProcessFinished' without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]
-  454 |     if (Term_ProcessFinished(&err)) {
-      |         ^
-./Term.oh:14:51: note: expanded from macro 'Term_ProcessFinished'
-   14 | #define Term_ProcessFinished(err)  ProcessFinished(err)
-      |                                                   ^
-FreeOberon.c:492:23: warning: passing 'CHAR[2048]' (aka 'unsigned char[2048]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
-  492 |   Term_WriteToProcess(buf, 2048, bufLen);
-      |                       ^~~
-./Term.oh:21:65: note: expanded from macro 'Term_WriteToProcess'
-   21 | #define Term_WriteToProcess(buf, buf__len, len)  WriteToProcess(buf, len)
-      |                                                                 ^~~
-./term/term.h:6:26: note: passing argument to parameter 'buf' here
-    6 | int WriteToProcess(char *buf, int len);
-      |                          ^
-FreeOberon.c:523:29: warning: passing 'CHAR[2]' (aka 'unsigned char[2]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
-  523 |         Term_WriteToProcess(buf, 2, 1);
-      |                             ^~~
-./Term.oh:21:65: note: expanded from macro 'Term_WriteToProcess'
-   21 | #define Term_WriteToProcess(buf, buf__len, len)  WriteToProcess(buf, len)
-      |                                                                 ^~~
-./term/term.h:6:26: note: passing argument to parameter 'buf' here
-    6 | int WriteToProcess(char *buf, int len);
-      |                          ^
-FreeOberon.c:603:27: warning: passing 'CHAR[2048]' (aka 'unsigned char[2048]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
-  603 |   if (Term_StartProcessIn(s, 2048, d, 2048)) {
-      |                           ^
-./Term.oh:20:75: note: expanded from macro 'Term_StartProcessIn'
-   20 | #define Term_StartProcessIn(cmd, cmd__len, dir, dir__len)  StartProcessIn(cmd, dir)
-      |                                                                           ^~~
-./term/term.h:4:26: note: passing argument to parameter 'process' here
-    4 | int StartProcessIn(char *process, char *dir);
-      |                          ^
-FreeOberon.c:603:36: warning: passing 'CHAR[2048]' (aka 'unsigned char[2048]') to parameter of type 'char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
-  603 |   if (Term_StartProcessIn(s, 2048, d, 2048)) {
-      |                                    ^
-./Term.oh:20:80: note: expanded from macro 'Term_StartProcessIn'
-   20 | #define Term_StartProcessIn(cmd, cmd__len, dir, dir__len)  StartProcessIn(cmd, dir)
-      |                                                                                ^~~
-./term/term.h:4:41: note: passing argument to parameter 'dir' here
-    4 | int StartProcessIn(char *process, char *dir);
-      |                                         ^
-5 warnings generated.
-
-  Done building Free Oberon
-  ~~~~~~~~~~~~~~~~~~~~~~~~~
-
-  Free Oberon is installed. You can now run: ./FreeOberon
-  Add the following line to ~/.bashrc to use the command fob:
-  export PATH=/Volumes/Apps/Emulators/FreeOberon--2025-04apr-29/FreeOberon-main:$PATH
-  To run Free Oberon IDE in a specific language, type ./FreeOberon --lang ru
-  To run Free Oberon IDE in a a window, type ./FreeOberon --window
-```
-
-
-
-Add the following line to ~/.bashrc to use the command fob:
-```
-export PATH=/Volumes/Apps/Emulators/FreeOberon--2025-04apr-29/FreeOberon-main:$PATH
-```
-
-```
-% export PATH=/Volumes/Apps/Emulators/FreeOberon/FreeOberon--2025-05may-19-3--manually/FreeOberon-main:$PATH
-```
-
-% ./fob
-```
-Free Oberon Compiler version 1.1.0-alpha.8
-Copyright (c) 2017-2025 by Arthur Yefimov and others.
-Fob uses Ofront+ and GCC (MinGW).
-
-Usage:
-  fob sourceFile
-  fob --lang ru sourceFile
-
-Please specify a single file name - the main module source
-```
-
-
-
-
-## run examples and FreeOberon IDE
-
-
-
-```
-% ./fob ./Programs/Examples/DirTest.Mod
-```
-
-```
-% ./DirTest
-[.]
-[..]
-[Programs]
-[_Build]
-[Data]
-...
-```
-
-
-```
-./fob ./Programs/Examples/FlyingDot.Mod 
-./FlyingDot
-```
-
-
-Run FreeOberon IDE
-
-```
-./FreeOberon
-```
-
-Menu File, Load ./Examples/Mandelbrot.Mod
-Menu Compile, Compile
-Be patient, it will calculate Mandelbrot set afer a few seconds and shows:
-
-
-Depending on your graphics you need to adjust it.
-
-Change:
-BEGIN G.Settings(320, 200, {G.exact});
-To: 2048, 1152 for example.
-Or use fullscreen: G.Settings(0, 0, {G.fullscreen});
-Or use windowing monde: G.Settings(640, 480, {G.exact, G.window});
-
-