diff options
| author | Roy Marples <roy@marples.name> | 2008-03-28 10:46:12 +0000 | 
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2008-03-28 10:46:12 +0000 | 
| commit | ee4e861796ad9b19acb45c576ed181ce2fdfebf5 (patch) | |
| tree | 425c9a68f127bce193717055d99be03a1380516c /src/librc | |
| parent | 11e33e81c855395cbd931e99f7452ed6b3fef357 (diff) | |
| download | openrc-ee4e861796ad9b19acb45c576ed181ce2fdfebf5.tar.xz | |
Put some dir locations in rc.h so that 3rd party apps can become awware of them.
Diffstat (limited to 'src/librc')
| -rw-r--r-- | src/librc/.gitignore | 1 | ||||
| -rw-r--r-- | src/librc/Makefile | 29 | ||||
| -rw-r--r-- | src/librc/rc.h.in (renamed from src/librc/rc.h) | 25 | 
3 files changed, 53 insertions, 2 deletions
| diff --git a/src/librc/.gitignore b/src/librc/.gitignore index eab6c70e..460d8c9f 100644 --- a/src/librc/.gitignore +++ b/src/librc/.gitignore @@ -13,3 +13,4 @@ librc.a  librc.so.1  librc.so  .depend +rc.h diff --git a/src/librc/Makefile b/src/librc/Makefile index c18f2224..5d53c64c 100644 --- a/src/librc/Makefile +++ b/src/librc/Makefile @@ -5,8 +5,6 @@ SRCS=		librc.c librc-daemon.c librc-depend.c librc-misc.c \  INCS=		rc.h  VERSION_MAP=	rc.map -CFLAGS+=	-DLIB=\"${LIBNAME}\" -CFLAGS+=	-DSYSCONFDIR=\"${SYSCONFDIR}\"  LDADD+=		${LIBKVM}  CFLAGS+=	-I../includes @@ -15,3 +13,30 @@ MK=		../../mk  include ${MK}/lib.mk  include ${MK}/cc.mk  include ${MK}/debug.mk + +# Massage our header file for our dirs +SED_CMD=	-e 's:@PREFIX@:${PREFIX}:g' +SED_CMD+=	-e 's:@LIB@:${LIBNAME}:g' +SED_CMD+=	-e 's:@SYSCONFDIR@:${SYSCONFDIR}:g' +_PKG_PREFIX_SH=	if test -n "${PKG_PREFIX}" && test "${PKG_PREFIX}" != "/" && test "${PKG_PREFIX}" != "${PREFIX}"; then \ +		echo "-e 's:@PKG_PREFIX@:${PKG_PREFIX}:g'"; \ +		else \ +		echo "-e 's:.*@PKG_PREFIX@.*:\#undef RC_PKG_PREFIX:g'"; \ +		fi +_PKG_PREFIX!=	${_PKG_PREFIX_SH} +SED_CMD+=	${_PKG_PREFIX}$(shell ${_PKG_PREFIX_SH}) + +_LCL_PREFIX_SH=	if test -n "${LOCAL_PREFIX}" && test "${LOCAL_PREFIX}" != "/" && test "${LOCAL_PREFIX}" != "${PREFIX}"; then \ +		echo "-e 's:@LOCAL_PREFIX@:${LOCAL_PREFIX}:g'"; \ +		else \ +		echo "-e 's:@LOCAL_PREFIX@::g'"; \ +		fi +_LCL_PREFIX!=	${_LCL_PREFIX_SH} +SED_CMD+=	${_LCL_PREFIX}$(shell ${_LCL_PREFIX_SH}) + +.SUFFIXES:	.h.in +.h.in.h: +	${SED} ${SED_CMD} $< > $@ +${SRCS}:	rc.h + +CLEANFILES+=	rc.h diff --git a/src/librc/rc.h b/src/librc/rc.h.in index 04cdba4d..7de69ae9 100644 --- a/src/librc/rc.h +++ b/src/librc/rc.h.in @@ -32,6 +32,31 @@  #include <stdbool.h>  #include <stdio.h> +#define RC_SYSCONFDIR		"@SYSCONFDIR@" +#define RC_LIBDIR               "@PREFIX@/@LIB@/rc" +#define RC_SVCDIR               RC_LIBDIR "/init.d" +#define RC_PLUGINDIR            RC_LIBDIR "/plugins" +#define RC_RUNLEVELDIR          RC_SYSCONFDIR "/runlevels" +#define RC_INITDIR              RC_SYSCONFDIR "/init.d" +#define RC_CONFDIR              RC_SYSCONFDIR "/conf.d" + +/* PKG_PREFIX is where packages are installed if different from the base OS + * On Gentoo this is normally unset, on FreeBSD /usr/local and on NetBSD + * /usr/pkg. */ +#define RC_PKG_PREFIX		"@PKG_PREFIX@" +#ifdef RC_PKG_PREFIX +#  define RC_PKG_INITDIR        RC_PKG_PREFIX "/etc/init.d" +#  define RC_PKG_CONFDIR        RC_PKG_PREFIX "/etc/conf.d" +#endif + +/* LOCAL_PREFIX is for user written stuff, which the base OS and package + * manger don't touch. */ +#define RC_LOCAL_PREFIX		"@LOCAL_PREFIX@" +#ifdef RC_LOCAL_PREFIX +#  define RC_LOCAL_INITDIR      RC_LOCAL_PREFIX "/etc/init.d" +#  define RC_LOCAL_CONFDIR      RC_LOCAL_PREFIX "/etc/conf.d" +#endif +  /* A doubly linked list using queue(3) for ease of use */  typedef struct rc_string {  	char *value; | 
