This file is a subset of build-oorexx.txt, limited to the build of executor. Compiler prerequisite: Your compiler supports C++17. Tested with Apple clang version 14.0.0 (clang-1400.0.29.202) Tested with clang+llvm-15.0.3-x86_64-apple-darwin Tested with clang+llvm-15.0.6-arm64-apple-darwin21.0 Tested under WSL with gcc/g++ GNU 11.4.0 Tested with Microsoft Visual Studio Community 2022 (64-bit) - Version 17.3.6 Shell prerequisite for MacOS: Works only with bash. If your shell is zsh, then launch bash from your shell session and follow the instructions. At the end, you can launch zsh from the bash session, but some libraries (like bsf) may not work because of SIP. The workaround for bash works only for bash. The zsh session will inherit the environment variables but NOT the aliases. Shell prerequisite for Linux: Works only with bash. If your shell is not bash, then launch bash from your shell session and follow the instructions. At the end, you can launch your shell from the bash session, it will inherit the environment variables but NOT the aliases. Shell prerequisite for Windows: Works only with cmd. -------------------------------------------------------------------------------- # MacOs for arm64 or x86_64 -------------------------------------------------------------------------------- # Remember: the instructions in this section work only with bash. # If you use another shell (like zsh), then type bash -l # See the folder setenv/bash for examples of configuration files for bash. cd mkdir rexx cd rexx # Get the sources git clone https://github.com/jlfaucher/builder.git mkdir oorexx cd oorexx # --depth 1 needed because of error "fetch-pack: invalid index-pack output" git clone --depth 1 https://github.com/jlfaucher/executor.git # Initialize the build environment: # build//d1/d2/.../system-arch/compiler/config # system-arch is macos-arm64 or macos-x86_64. . ../builder/scripts/setenv build/executor.master/sandbox/jlf/trunk/macos-arm64/clang/release # Several aliases are defined to navigate easily in the directories: alias # Configure cdbuild cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$builder_delivery_dir $builder_src_dir # The binaries are installed in $builder_delivery_dir make install # Optional: get the regex package (loaded by ooRexxShell if available) cdoorexx svn checkout svn://svn.code.sf.net/p/oorexx/code-0/incubator/regex official/incubator/regex cdincubator ln -s ../../official/incubator/regex regex # Try oorexxshell, see the demos: # https://jlfaucher.github.io/executor.master/demos/index.html cdoorexx oorexxshell # Next time, when starting from a fresh console: cd /rexx/oorexx # system-arch is macos-arm64 or macos-x86_64. . ../builder/scripts/setenv build/executor.master/sandbox/jlf/trunk/macos-arm64/clang/release -------------------------------------------------------------------------------- # Linux for aarch64 or x86_64 -------------------------------------------------------------------------------- # Remember: the instructions in this section work only with bash. # If you use another shell (like zsh), then type bash -l # See the folder setenv/bash for examples of configuration files for bash. cd mkdir rexx cd rexx # Get the sources git clone https://github.com/jlfaucher/builder.git mkdir oorexx cd oorexx # --depth 1 needed because of error "fetch-pack: invalid index-pack output" git clone --depth 1 https://github.com/jlfaucher/executor.git # Initialize the build environment: # build//d1/d2/.../system-arch/compiler/config # system-arch is ubuntu-aarch64 or ubuntu-x86_64. . ../builder/scripts/setenv build/executor.master/sandbox/jlf/trunk/ubuntu-x86_64/gcc/release # Several aliases are defined to navigate easily in the directories: alias # Configure cdbuild cmake -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$builder_delivery_dir $builder_src_dir # The binaries are installed in $builder_delivery_dir make install # Optional: get the regex package (loaded by ooRexxShell if available) cdoorexx svn checkout svn://svn.code.sf.net/p/oorexx/code-0/incubator/regex official/incubator/regex cdincubator ln -s ../../official/incubator/regex regex # Try oorexxshell, see the demos: # https://jlfaucher.github.io/executor.master/demos/index.html cdoorexx oorexxshell # Next time, when starting from a fresh console: cd /rexx/oorexx # system-arch is ubuntu-aarch64 or ubuntu-x86_64. . ../builder/scripts/setenv build/executor.master/sandbox/jlf/trunk/ubuntu-x86_64/gcc/release -------------------------------------------------------------------------------- :: Windows for arm64 or x86_64 -------------------------------------------------------------------------------- :: Prerequisite :: - No space in the path to the current directory. :: - Visual Studio 2022 is installed. See scripts\setenv-cl.bat :: - (needed?) An SDK is installed: https://developer.microsoft.com/en-us/windows/downloads/sdk-archive cd mkdir rexx cd rexx :: Get the sources git clone https://github.com/jlfaucher/builder.git mkdir oorexx cd oorexx :: --depth 1 needed because of error "fetch-pack: invalid index-pack output" git clone --depth 1 https://github.com/jlfaucher/executor.git :: Initialize the build environment: :: build//d1/d2/.../system-arch/compiler/config :: system-arch is windows-arm64 or windows-x86_64. call ..\builder\scripts\setenv build\executor.master\sandbox\jlf\trunk\windows-x86_64\cl\release :: Several macros are defined to navigate easily in the directories: doskey /macros :: Configure cdbuild cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%CMAKE_BUILD_TYPE% -DCMAKE_INSTALL_PREFIX=%builder_delivery_dir% %builder_src_dir% :: The binaries are installed in %builder_delivery_dir% nmake install :: Optional: get the regex package (loaded by ooRexxShell if available) cdoorexx svn checkout svn://svn.code.sf.net/p/oorexx/code-0/incubator/regex official/incubator/regex cdincubator mklink /d regex ..\..\official\incubator\regex :: Try oorexxshell, see the demos: :: https://jlfaucher.github.io/executor.master/demos/index.html cdoorexx oorexxshell :: Next time, when starting from a fresh console: cd /rexx/oorexx :: system-arch is windows-arm64 or windows-x86_64. call ..\builder\scripts\setenv build\executor.master\sandbox\jlf\trunk\windows-x86_64\cl\release