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

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