diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2019-06-24 12:56:24 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2019-06-24 12:56:24 +0300 |
commit | 006bfbc5235c181783445d321ce7a7e3c6d8bd8a (patch) | |
tree | f483e0d30c3e801add01b372b24a342281b70b86 /configure.ac | |
parent | cb90ca582a46ef9f0779837dc4c6fb00656e70c9 (diff) | |
download | pies-006bfbc5235c181783445d321ce7a7e3c6d8bd8a.tar.gz pies-006bfbc5235c181783445d321ce7a7e3c6d8bd8a.tar.bz2 |
Enable/disable SystemV init code at compile time
* configure.ac: New option --enable-sysvinit. Disable the init
code if RUN_LVL is not available.
(PIES_SYSVINIT_ENABLED): New configuration define.
(PIES_COND_SYSVINIT): New condition
Print configuration settings summary.
* src/pies.h (is_sysvinit): Check for PIES_SYSVINIT_ENABLED.
(SYSVINIT_ACTIVE): New macro.
* grecs: Upgrade.
* src/Makefile.am: Conditionally link sysvinit-related code.
* src/cmdline.opt: Disable the --telinit option if sysvinit support
is not available.
(parse_options): Use SYSVINIT_ACTIVE in the conditional.
* src/comp.c (component_verify): Check if component definition is
allowed by the current state of the sysvinit support.
* src/ctl.c: Disable the /runlevel entry point if sysvinit support
is not compiled.
* src/diag.c (stderr_open): Make sure sysvinit-related code is not
compiled if the sysvinit support is not available.
* src/pies.c (config_syntax_tab): Add entry for CONF_INITTAB only if
sysvinit support is available.
(_cb_initdefault,_cb_runlevels): Remove. Use cb_initdefault and cb_runlevels
instead.
(component_keywords): Disable runlevels without sysvinit support.
(pies_keywords): Same for initdefault.
Use SYSVINIT_ACTIVE to suppress compilation of sysvinit code without
sysvinit support.
* src/progman.c: Use SYSVINIT_ACTIVE to suppress compilation of
sysvinit code without sysvinit support.
* src/sysvinit.c (cb_initdefault,cb_runlevels): New functions.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index ae3a9c7..3a23a1a 100644 --- a/configure.ac +++ b/configure.ac @@ -125,6 +125,30 @@ AC_ARG_ENABLE([inetd], no) ;; esac]) +sysvinit_status=maybe +AC_ARG_ENABLE([sysvinit], + AC_HELP_STRING([--enable-sysvinit], + [compile the SystemV init support]), + [sysvinit_status=$enableval]) + +if test $sysvinit_status = "maybe"; then + AC_TRY_COMPILE([#ifdef HAVE_UTMPX_H +# include <utmpx.h> +#else +# include <utmp.h> +#endif +], +[int x = RUN_LVL;], +[sysvinit_status=yes], +[sysvinit_status=no]) +fi + +test $sysvinit_status = "no" +PIES_SYSVINIT_ENABLED=$? +AC_DEFINE_UNQUOTED([PIES_SYSVINIT_ENABLED],[$PIES_SYSVINIT_ENABLED], + [whether SystemV init support is compiled]) +AM_CONDITIONAL([PIES_COND_SYSVINIT],[test $sysvinit_status = "yes"]) + AH_BOTTOM([ # ifndef ATTRIBUTE_NORETURN # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) @@ -147,6 +171,28 @@ AC_CONFIG_TESTDIR(tests) AC_CONFIG_FILES([tests/Makefile tests/atlocal]) AM_MISSING_PROG([AUTOM4TE], [autom4te]) +AC_CONFIG_COMMANDS([status],[ +cat <<EOF +Configuration summary: + +URL of the control API ............................. $control_url +PAM support ........................................ $status_pam +SystemV initialization support ..................... $sysvinit_status +EOF +if test $sysvinit_status = "yes"; then + cat <<EOF +URL of the SystemV init ............................ $sysvinit_control_url +Emergency shell .................................... $emergency_shell +EOF +fi +], +[sysvinit_status=$sysvinit_status +control_url=`echo "$DEFAULT_PIES_CONTROL_URL" | sed 's/\\\$/\\\\\$/g'` +sysvinit_control_url=$DEFAULT_INIT_CONTROL_URL +emergency_shell=$EMERGENCY_SHELL +status_pam=$status_pam +]) + AC_CONFIG_FILES([Makefile gnu/Makefile lib/Makefile |