@@ -17,36 +17,35 @@ Currently, all of Drat's commands (except `modify`, which is currently disabled
17
17
as it is not fit for use) operate in a read-only fashion, as they are intended
18
18
to be used in situations involving data recovery or data forensics.
19
19
20
- ## Build instructions
20
+ ### Running the software
21
21
22
- If you're running macOS on an Intel Mac, precompiled binaries for versioned
23
- releases are available on the [ releases page] ( https://github.com/jivanpal/drat/releases ) .
22
+ If you're using an Intel machine that's running macOS or Linux, you can find
23
+ binaries for versioned releases on the [ releases page] ( https://github.com/jivanpal/drat/releases ) .
24
24
25
25
Documentation for versioned releases and as generated from the ` main ` branch
26
26
[ can be viewed online] ( https://drat.readthedocs.io/ ) .
27
27
28
- Compilation and execution has been tested on macOS Catalina 10.15.7 (19H524) on
29
- an Intel x86-64 machine (MacBookPro9,2).
30
-
31
28
### Compiling the software
32
29
33
30
#### Requirements
34
31
35
- - ` gcc ` — Required because we use ` __attribute__((packed)) ` . Tested with
36
- GCC 11.2.0, installed via [ Homebrew] ( https://brew.sh ) (Homebrew GCC 11.2.0).
32
+ - GNU C Compiler (` gcc ` ) — Required because we use ` __attribute__((packed)) ` .
33
+
34
+ - GNU Make (` make ` ).
37
35
38
- - ` make ` — Tested with GNU Make 3.81, as included in Xcode Command Line Tools.
36
+ - GNU Argp library ( ` <argp.h> ` ) — Part of the GNU C Library (glibc):
39
37
40
- - ` <argp.h> ` (GNU Argp library) — If compiling on macOS, you can get this by
41
- installing the [ Homebrew] ( https://brew.sh ) package ` argp-standalone ` ; the
42
- Makefile will handle this configuration automatically. If you acquire this
43
- library any other way, you will need to configure ` CFLAGS ` and ` LDFLAGS ` as
44
- appropriate (see lines in ` Makefile ` after ` ifeq ($(shell uname -s),Darwin) ` ).
38
+ - On Ubuntu, ensure that the package ` libc6-dev ` is installed.
39
+
40
+ - On macOS, you can install just Argp via the [ Homebrew] ( https://brew.sh )
41
+ package ` argp-standalone ` . The Makefile will handle this configuration
42
+ automatically. If you acquire Argp any other way, such as by installing
43
+ glibc in its entirety, you may need to configure ` CFLAGS ` and ` LDFLAGS ` as
44
+ appropriate.
45
45
46
46
#### Instructions
47
47
48
- - Ensure that ` gcc ` is in your ` $PATH ` , or modify the ` CC ` and ` LD ` values in
49
- ` Makefile ` to reflect the location of ` gcc ` on your system.
48
+ - Ensure that ` gcc ` is in your ` $PATH ` , or configure ` CC ` and ` LD ` as appropriate.
50
49
51
50
- Run ` make ` from the project root (where this ` README.md ` file resides). An
52
51
` out ` directory will be created in which the object files will be stored. The
@@ -55,6 +54,22 @@ an Intel x86-64 machine (MacBookPro9,2).
55
54
- Run ` make clean ` to remove the compiled binary (` drat ` ) and other output files
56
55
(` out ` directory).
57
56
57
+ #### Tested platforms
58
+
59
+ Compilation and execution has been tested on the following platforms:
60
+
61
+ - macOS Catalina 10.15.7 (19H524) on an Intel x86-64 machine (MacBookPro9,2), using:
62
+
63
+ - GCC 11.2.0 (Homebrew GCC 11.2.0)
64
+ - GNU Make 3.81 (as included in Xcode Command Line Tools)
65
+ - Homebrew package ` argp-standalone ` , version 1.3
66
+
67
+ - Ubuntu 20.04.3 on an Intel x86-64 machine (Intel Core i5-4288U), using:
68
+
69
+ - GCC 9.3.0
70
+ - GNU Make 4.2.1
71
+ - GNU C Library (glibc) 2.31
72
+
58
73
### Generating the documentation
59
74
60
75
[ Sphinx] ( https://www.sphinx-doc.org/en/master/ ) is used to manage the
0 commit comments