▼ |  | Dynext: Running a C Compiler/ Linker

1 | Compilation
2 | Linking
3 | Filenames

► | 3 | Filenames

3.1 | Signature
3.2 | Unit

On this page:

append-zo-suffix
append-object-suffix
append-c-suffix
append-constant-pool-suffix
append-extension-suffix
extract-base-filename/ ss
extract-base-filename/ c
extract-base-filename/ kp
extract-base-filename/ o
extract-base-filename/ ext
3.1`` Signature
dynext: file^
3.2`` Unit
dynext: file@

top ← prev up next →

### 3`` Filenames

(require dynext/file) | package: base

> procedure (append-zo-suffix s) → path?
> s : (or/c string? path?)

Appends the ".zo" file suffix to s, returning a path. The existing suffix, if any, is preserved and converted as with path-add-suffix.

> procedure (append-object-suffix s) → path?
> s : path-string?

Appends the platform-standard compiled object file suffix to s, returning a path.

> procedure (append-c-suffix s) → path?
> s : path-string?

Appends the platform-standard C source-file suffix to s, returning a path.

> procedure (append-constant-pool-suffix s) → path?
> s : (or/c string? path?)

Appends the constant-pool file suffix ".kp" to s, returning a path.

> procedure (append-extension-suffix s) → path?
> s : (or/c string? path?)

Appends the platform-standard dynamic-extension file suffix to s, returning a path.

> procedure (extract-base-filename/ss s [program]) → (or/c path? false/c)
> s : path-string?
> program : any/c = #f

Strips the Racket file suffix from s and returns a stripped path. The recognized suffixes are the ones reported by (get-module-suffixes #:group 'libs) when extract-base-filename/ss is first called.

Unlike the other functions below, when program is not #f, then any suffix (including no suffix) is allowed. If s is not a Racket file and program is #f, #f is returned.

> procedure (extract-base-filename/c s [program]) → (or/c path? false/c)
> s : path-string?
> program : any/c = #f

Strips the Racket file suffix from s and returns a stripped path. If s is not a Racket file name and program is a symbol, and error is signaled. If s is not a Racket file and program is #f, #f is returned.

> procedure (extract-base-filename/kp s [program]) → (or/c path? false/c)
> s : path-string?
> program : any/c = #f

Same as extract-base-filename/c, but for constant-pool files.

> procedure (extract-base-filename/o s [program]) → (or/c path? false/c)
> s : path-string?
> program : any/c = #f

Same as extract-base-filename/c, but for compiled-object files.

> procedure (extract-base-filename/ext s [program]) → (or/c path? false/c)
> s : path-string?
> program : any/c = #f

Same as extract-base-filename/c, but for extension files.

#### 3.1`` Signature

(require dynext/file-sig) | package: dynext-lib

> signature dynext:file^ : signature

Includes everything exported by the dynext/file module.

#### 3.2`` Unit

(require dynext/file-unit) | package: dynext-lib

> value dynext:file@ : unit?

Imports nothing, exports dynext:file^.
top ← prev up next →