Dre4m Shell
Server IP : 85.214.239.14  /  Your IP : 3.135.195.169
Web Server : Apache/2.4.61 (Debian)
System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.18
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/share/doc/util-linux/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/doc/util-linux/howto-build-sys.txt
util-linux build system
=======================

 - the build system is non-recursive, individual subdirectories use
   Makemodule.am files. These files are merged together by automake
   into one global Makefile in the top-level directory

 - all final build results (binaries, libtool scripts) are stored in top-level
   source directory

 - all Makemodule.am files have to be designed as top-level makefiles, it
   means with full paths (e.g. foo_SOURCES = subdir/foo.c)

 - always use '+=' operator for global variables (e.g. bin_PROGRAMS += foo)

 - use libcommon.la (without path!) for lib/ stuff (e.g. foo_LDADD = libcommon.la)

 - for libblkid, libuuid and libmount use lib<name>.la in _LDADD and
   -I$(ul_lib<name>_incdir) in _CFLAGS, for example

	foo_LDADD = libmount.la
	foo_CFLAGS = -I$(ul_libmount_incdir)

 - always use suffixes for hooks, for example

	install-exec-hook-foo:
		ln -sf foo foooo

	INSTALL_EXEC_HOOKS += install-exec-hook-foo


 - all util-linux specific autoconf macros use UL_ prefix

 - utils in Makefile.am files are enabled/disabled according to BUILD_<NAME>
   conditions (AM_CONDITIONAL), for example:

	if BUILD_HWCLOCK
	...
	endif

 - "if BUILD_<NAME>" blocks are never nested within another "if BUILD_<NAME>",
   all dependencies have to be resolved in configure.ac (see UL_REQUIRES_BUILD())

 - all BUILD_<NAME> in configure.am are always based on build_<name> variables,
   for example:

	AM_CONDITIONAL([BUILD_HWCLOCK], test "x$build_hwclock" = xyes)

   the $build_<name> should be available in whole configure script

 - AC_ARG_ENABLE() status is always stored in $enable_<name> variable, possible
   setting:

	"check" - util/feature is optional, if any subcomponent (function, lib,
                  ...) is missing a warning is printed and the util/feature is
                  disabled

	"yes"	- util/feature is required, if any subcomponent (function, lib,
                  ...) is missing an error is printed and ./configure aborted

	"no"	- the util/feature is unwanted

   The default status is always defined by UL_DEFAULT_ENABLE() and it might be
   globally modified by $ul_default_estate (see AC_ARG_ENABLE([all-programs])).

 - it's possible to disable all programs, but enable just one (or more)
   explicitly specified, for example:

        ./configure --disable-all-programs --enable-hwclock

 - some basic scenarios for the ./configure script are defined in the
   tools/config-gen.d/ directory. If you want to use these predefined scenarios
   then call

	./tools/config-gen [<scenario> ...]

   for example

	./tools/config-gen all selinux

   will build all utils with enabled selinux support. You can also define some
   CFLAGS, for example:

	CFLAGS=$(rpm --eval '%optflags') ./tools/config-gen all

   will use the default distro flags.

   WARNING: config-gen is not designed for end-user or downstream distributions!
            It's for development purpose only. All end-users and downstream have
            to use standard ./configure script only.

 - the tools/config-gen script is also used for build system regression tests,
   the test is not enabled by default, you have to use

	tests/run.sh build-sys --force

Anon7 - 2022
AnonSec Team