File: INSTALL.md

package info (click to toggle)
mk-configure 0.37.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,112 kB
  • sloc: ansic: 5,441; makefile: 1,412; sh: 1,086; cpp: 200; perl: 101; yacc: 85; lex: 21
file content (91 lines) | stat: -rw-r--r-- 3,050 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
Installation
------------

1) Install bmake(1).
   Sources are available here:

   * ftp://ftp.NetBSD.org/pub/NetBSD/misc/sjg/
   * http://www.crufty.net/help/sjg/bmake.html

   NOTE: Some versions of bmake (shipped with NetBSD-5.1, for
   example) have bugs which are critical for mk-configure.
   Please make sure you install stable version of bmake and
   'bmake test' succeeds (see section 4 below).

2) Install NetBSD version of mkdep(1).
   Sources are available here:

   * https://github.com/trociny/bmkdep

   Traditional BSD mkdep(1) is also good but NetBSD version is just better.
   Alternatively you can also use makedepend(1). mk-configure
   selects the best variant available at build time.

3) Download mk-configure source from either
   https://github.com/cheusov/mk-configure or
   http://sourceforge.net/projects/mk-configure and unpack tarball.

   Difference between sourceforce and github is that sourceforge
   tarball have a prebuild documentation (in PDF format) files.

        # cd mk-configure-X.Y.Z/
        # export PREFIX=/usr/local (the default)
        or
        # export PREFIX=/usr SYSCONFDIR=/etc

   You may want to configure some things before building mk-configure.
   The following command shows the configuring things.
   Of course, you can also change PREFIX, SYSCONFDIR, BINDIR
   and other standard mk-configure variables.

        # bmake help

   Then, build mk-configure like the following.

        # export USE_AWK=/usr/bin/gawk
        # export USE_INSTALL=/usr/bin/install
        # export USE_CC_COMPILERS='gcc-4.8 gcc-4.9 gcc-6 clang'
        # export USE_CXX_COMPILERS='g++-4.8 g++-4.9 g++-6 clang++'
        # export PREFIX=/opt/cheusov/mk-configure
        # bmake configure
        # bmake all

   newsys.mk contains initial settings and can be used
   for overriding defaults. So you can edit it if needed.

        # emacs newsys.mk

4) Optionally, test mk-configure

        # bmake test

   Note that testing requires lex(1), yacc(1),
   pkg-config(1), glib2 library and other things
   that are not mandatory for using mk-configure
   and may be not available on your system.
   If "bmake test" fails on your platform, please let
   me know. If for some reason you want to exclude some
   regression tests (they are in "tests" and "examples"
   subdirectories), you may list them in NOSUBDIR variable,
   e.g.

        # NOSUBDIR='hello_glib2 hello_lua lua_dirs' bmake test

5) Install mk-configure

        # bmake install
          or
        # env DESTDIR=/tmp/temproot bmake install

6) You may also want to build and install PDF presentation.

        # bmake all-presentation install-presentation

7) Usage

   For use of mk-configure for real-life development you may need the
   following programs: C/C++ compilers, linker, yacc/bison, lex/flex,
   ar, as, ln, nroff, pod2man, pod2html, ranlib, mkdep, tar, gzip,
   bzip2, cpp, install, lorder, nm, tsort, pkg-config, zip and others.
   Of course, you'll need awk, sed, grep and some other POSIX tools
   too. Some of them are