Skip to content

Commit

Permalink
migrate fully to meson build system
Browse files Browse the repository at this point in the history
- drop old build system
- move shared include and source files to common directory
- drop "rc-" prefix from shared include and source files
- move executable-specific code to individual directories under src
- adjust top-level .gitignore file for new build system

This closes #489.
  • Loading branch information
williamh committed Apr 6, 2022
1 parent 0efc1b1 commit 391d12d
Show file tree
Hide file tree
Showing 154 changed files with 430 additions and 2,027 deletions.
6 changes: 1 addition & 5 deletions .gitignore
Expand Up @@ -9,8 +9,4 @@ core
.gdb_history
.gdbinit

.depend
*.a
*.o
*.So
lib*.so
build
55 changes: 0 additions & 55 deletions Makefile

This file was deleted.

3 changes: 0 additions & 3 deletions Makefile.inc

This file was deleted.

4 changes: 4 additions & 0 deletions NEWS.md
Expand Up @@ -4,6 +4,10 @@ OpenRC NEWS
This file will contain a list of notable changes for each release. Note
the information in this file is in reverse order.

## OpenRC 0.45

The old make-based build system is removed in this release.

## OpenRC 0.44

This version is the first to use a meson-based build system.
Expand Down
58 changes: 1 addition & 57 deletions README.md
Expand Up @@ -9,72 +9,16 @@ system-provided init program, normally `/sbin/init`.
OpenRC uses the [meson](http://mesonbuild.com) build system, so use the
usual methods for this build system to build and install.

The old build system is still available for the 0.44.x branch, but it is
considered deprecated and will be removed. The previous documentation is
below.

## Installation (historical)

OpenRC requires GNU make.

Once you have GNU Make installed, the default OpenRC installation can be
executed using this command:

`make install`

## Configuration (historical)

You may wish to configure the installation by passing one or more of the
below arguments to the make command

```
PROGLDFLAGS=-static
LIBNAME=lib64
DESTDIR=/tmp/openrc-image
MKBASHCOMP=no
MKNET=no
MKPAM=pam
MKCAP=yes
MKPREFIX=yes
MKPKGCONFIG=no
MKSELINUX=yes
MKSTATICLIBS=no
MKSYSVINIT=yes
MKTERMCAP=ncurses
MKTERMCAP=termcap
MKZSHCOMP=no
PKG_PREFIX=/usr/pkg
LOCAL_PREFIX=/usr/local
PREFIX=/usr/local
BRANDING=\"Gentoo/$(uname -s)\"
SH=/bin/sh
```

## Notes

We don't support building a static OpenRC with PAM.

You may need to use `PROGLDFLAGS=-Wl,-Bstatic` on glibc instead of just `-static`
(This is now handled by the meson build system).

If you are building OpenRC for a Gentoo Prefix installation, add `MKPREFIX=yes`
(this is not supported in the meson build currently, but patches are welcome).

`PKG_PREFIX` should be set to where packages install to by default.

`LOCAL_PREFIX` should be set to where user maintained packages are.
Only set `LOCAL_PREFIX` if different from `PKG_PREFIX`.

`PREFIX` should be set when OpenRC is not installed to /.

If any of the following files exist then we do not overwrite them

```
/etc/devd.conf
/etc/rc
/etc/rc.shutdown
/etc/conf.d/*
```
`ROOTPREFIX` should be set when the root path is different from '/'.

`rc` and `rc.shutdown` are the hooks from the BSD init into OpenRC.

Expand Down
11 changes: 0 additions & 11 deletions bash-completion/Makefile

This file was deleted.

20 changes: 0 additions & 20 deletions conf.d/Makefile

This file was deleted.

2 changes: 0 additions & 2 deletions etc/.gitignore

This file was deleted.

23 changes: 0 additions & 23 deletions etc/Makefile

This file was deleted.

51 changes: 0 additions & 51 deletions init.d/.gitignore

This file was deleted.

37 changes: 0 additions & 37 deletions init.d/Makefile

This file was deleted.

6 changes: 0 additions & 6 deletions local.d/Makefile

This file was deleted.

45 changes: 0 additions & 45 deletions man/Makefile

This file was deleted.

3 changes: 1 addition & 2 deletions meson.build
Expand Up @@ -182,7 +182,7 @@ cc_warning_flags = cc.get_supported_arguments(cc_warning_flags_test)
cc_flags = [cc_debug_flags, cc_os_flags, cc_warning_flags]
add_project_arguments(cc_flags, language : 'c')

incdir = include_directories('src/includes')
incdir = include_directories('src/shared')
einfo_incdir = include_directories('src/libeinfo')
rc_incdir = include_directories('src/librc')

Expand All @@ -201,7 +201,6 @@ subdir('init.d')
subdir('local.d')
subdir('man')
subdir('pkgconfig')
subdir('scripts')
subdir('sh')
subdir('src')
subdir('support')
Expand Down

0 comments on commit 391d12d

Please sign in to comment.