github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/docs/supported-platforms.md (about)

     1  <h1>Supported Operating Systems</h1>
     2  
     3  The following is a list of platforms Murex has been tested on and the
     4  level of support it has:
     5  
     6  <h2>Table of Contents</h2>
     7  
     8  <div id="toc">
     9  
    10  - [macOS (Darwin)](#macos-darwin)
    11  - [Windows](#windows)
    12  - [FreeBSD](#freebsd)
    13  - [OpenBSD](#openbsd)
    14  - [NetBSD](#netbsd)
    15  - [DragonflyBSD](#dragonflybsd)
    16  - [Plan 9](#plan-9)
    17  - [Other CPU architectures](#other-cpu-architectures)
    18  
    19  </div>
    20  
    21  ## Linux
    22  
    23  The shell has been extensively tested across a number of distributions. There
    24  are no known distribution specific issues.
    25  
    26  ## macOS (Darwin)
    27  
    28  All features work aside alt-hotkeys.
    29  
    30  Both x86 (Intel) and AMD (M2 etc) architectures are supported.
    31  
    32  ## Windows
    33  
    34  Windows is supported there are a few known issue with the way how Windows
    35  internals are built. These cannot be easily worked around:
    36  
    37  * Windows doesn't decouple the terminal emulator and the shell Which means you
    38    cannot rely upon STDIN working as expected (eg some commands don't read input
    39    from STDIN but instead poll the terminal emulator directly)
    40  
    41  * Windows sends parameters as a single string rather than an array of string.
    42    This is to retain backwards compatibility with DOS but it breaks the way how
    43    quotation marks and escaping works. Murex will compile an array of
    44    parameters based on the quotation strings (there are 3 different types of
    45    quotations in Murex), infixed variables, subshells, etc. These would not be
    46    honoured by any Windows commands because every Windows application then has
    47    to handle how the one long string of parameters is chopped up into different
    48    arguments; how quotation marks are handles, spaces, escaping, etc. This means
    49    there is no standard so one command might handle spaces correctly but another
    50    wouldn't.
    51  
    52  * Job control (`bg`, `^z`, `fg`, etc) isn't supported because Windows doesn't
    53    have an equivalent of the SIGSTSP (etc) POSIX signals. 
    54  
    55  * There is also the caveat that without a broad range of command line utilities
    56    (eg GNU coreutils) the usefulness of Murex is seriously diminished. You can
    57    mitigate this by installing [MSYS2](https://www.msys2.org/) or [Cygwin](https://cygwin.com/).
    58  
    59  ## FreeBSD
    60  
    61  FreeBSD is officially supported and tested by the community.
    62  
    63  ## OpenBSD
    64  
    65  FreeBSD is officially supported and tested by the community.
    66  
    67  ## NetBSD
    68  
    69  FreeBSD is officially supported and tested by the community.
    70  
    71  ## DragonflyBSD
    72  
    73  FreeBSD is officially supported and tested by the community.
    74  
    75  ## Plan 9
    76  
    77  Plan 9 is included as part of the automated built tests however no functional
    78  tests have been run.
    79  
    80  If you do happen to run into any such bugs then I do welcome pull requests.
    81  
    82  Feature wise, job control isn't supported in Plan 9 because Plan 9 doesn't
    83  support all of the required signals. All other functions are expected to work.
    84  
    85  ## Other CPU architectures
    86  
    87  Several CPU architectures are supported:
    88  
    89  * 386   (x86 32bit)
    90  * AMD64 (x86 64bit)
    91  * ARMv7 (32bit)
    92  * ARMv8 (64bit)
    93  
    94  ## See Also
    95  
    96  * [Download](/DOWNLOAD.md):
    97    Murex download links
    98  * [Install](/INSTALL.md):
    99    Installation instructions
   100  
   101  <hr/>
   102  
   103  This document was generated from [gen/root/supported-platforms_doc.yaml](https://github.com/lmorg/murex/blob/master/gen/root/supported-platforms_doc.yaml).