heirloom-devtools-070527

#### Supplemental Linux® From Scratch - Version 13.0

### Chapter 24. SVR4-style Tools

- Prev

  heirloom-sh-050706

- Next

  heirloom-doctools-2e9b0c

- Up
- Home

# heirloom-devtools-070527

## Introduction to heirloom-devtools

The heirloom-devtools package provides the SVR4 versions of the yacc, lex, m4, make, and SCCS tools. Those tools are portable derivatives of the tools released as a part of OpenSolaris, which were derived from the original UNIX versions.

- Download: https://downloads.sourceforge.net/heirloom/heirloom-devtools/070527/heirloom-devtools-070527.tar.bz2

### Additional Downloads

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/heirloom-devtools/heirloom-devtools-070527-final-updates.patch

- Required patch: https://www.linuxfromscratch.org/slfs/view/13.0/download/heirloom-devtools/heirloom-devtools-070527-fix-make-build.patch

### heirloom-devtools Dependencies

#### Required

heirloom-ng-250220 and libtirpc

#### Recommended

heirloom-sh-050706

## Installation of heirloom-devtools

Apply a patch to bring up the source to the last upstream commit:

    patch -Np1 -i ../heirloom-devtools-070527-final-updates.patch

Now, apply a patch to fix the compilation of the make utility:

    patch -Np1 -i ../heirloom-devtools-070527-fix-make-build.patch

Next, adjust the build configuration to use libtirpc:

    sed -i 's=-O=-O -I/usr/include/tirpc=g' mk.config

If you have heirloom-sh installed, execute the following commands to tell heirloom-devtools where to find it:

    sed -i 's-/sbin/sh-/usr/5bin/sh-g' mk.config &&
    sed -i 's-/bin/sh-/usr/5bin/sh-g' mk.config &&
    sed -i 's-/bin/sh-/usr/5bin/sh-g' sccs/src/sccsdiff.sh

Otherwise, execute the following command to use the normal 'sh':

    sed -i 's-/sbin/sh-/bin/sh-g' mk.config

### Important

Ensure you are building this package as an unprivileged user and NOT as the `root` user, or else the make process will fail as it will be unable to create a temporary file/directory.

Install heirloom-devtools by running the following command:

    CC="cc -std=gnu17" make -j1

Now, as the `root` user:

    make install

## Command Explanations

make -j1: This command builds the package using only one thread to ensure there is no race condition.

## Contents

Installed Programs: admin, cdc (link to rmdel), comb, delta, get, help, lex, m4, make, prs, prt, rmdel, sact (link to unget), sccs, sccsdiff, svr4.make (link to make), unget, val, vc, what, and yacc
Installed Libraries: libl and liby (both static)
Installed Directories: /usr/ccs/lib/help, /usr/ccs/lib/lex, and /usr/ccs/share/lib/make

### Short Descriptions

admin | creates and administers SCCS files
cdc | is a symlink pointing to rmdel
comb | combines SCCS deltas
delta | makes a delta to an SCCS file
get | retrieves a version of an SCCS file
help | retrieves information about error messages and warnings from SCCS commands
lex | is a generator of lexical analysis programs
m4 | is the macro processor
make | maintains, updates, and regenerates groups of programs
prs | displays selected portions of an SCCS history
prt | prints the contents of an SCCS file
rmdel | removes a delta from an SCCS file
sact | is a symlink pointing to unget
sccs | is the human-oriented frontend to the SCCS system
sccsdiff | compares two versions of an SCCS file
svr4.make | is a symlink pointing to make
unget | undos a previous get of an SCCS file
val | validates an SCCS file
vc | reads a line of text and processes it as if it were a version control statement.
what | extracts SCCS version information from a file
yacc | generates a parser
`libl` | is the supporting library for lex
`liby` | is the supporting library for yacc

- Prev

  heirloom-sh-050706

- Next

  heirloom-doctools-2e9b0c

- Up
- Home