summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* w: Fix musl UT_HOSTSIZE issueCraig Small2023-05-071-0/+10
| | | | | | | | | | | | | While musl has utmpx.h, their header file does not define all the values, especially __UT_HOSTSIZE and friends. Instead it just hard codes the sizes :/ This change will look for that definition specifically and if not found will include utmp.h too. Checked on Alpine 3.17 musl just makes these a stub so w doesn't work anyway. Signed-off-by: Craig Small <csmall@dropbear.xyz>
* revert: pidfd_open checkCraig Small2022-11-091-1/+1
| | | | | This change confused the pidfd_open check with the existance of NR_pidfd_open
* fix pifd_open checkFabrice Fontaine2022-11-091-1/+1
| | | | | | | | | | | | | | | | | | | | | Replace AC_CHECK_FUNC by AC_CHECK_FUNCS otherwise HAVE_PIDFD_OPEN will never be defined resulting in the following build failure if pidfd_open is available but __NR_pidfd_open is not available: pgrep.c: In function 'pidfd_open': pgrep.c:748:17: error: '__NR_pidfd_open' undeclared (first use in this function); did you mean 'pidfd_open'? 748 | return syscall(__NR_pidfd_open, pid, flags); | ^~~~~~~~~~~~~~~ | pidfd_open This build failure is raised since the addition of pwait in version 3.3.17 and https://gitlab.com/procps-ng/procps/-/commit/c8384e682c1cfb3b2dc797e0f8a3cbaaccf7a3da Fixes: - http://autobuild.buildroot.org/results/f23a5156e641b2ebdd673973dec0f9c87760c688 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* build-sys: Allow enable-watch9bit and with-ncursesCraig Small2022-09-281-3/+3
| | | | | | | | | | | | | | | The commit that changed configure.ac was supposed to check for when someone removes ncurses using the flag --without-ncurses Unfortunately the change didn't check if the user was specifying --without or --with meaning if they didn use --with-ncurses the configure script would error out. Signed-off-by: Craig Small <csmall@dropbear.xyz> References: commit 812864181408398af98b217f384205a6f2f9cb68 procps-ng/procps#251
* build-sys: Move git-version-genCraig Small2022-08-291-1/+1
| | | | git-version-gen was the only file in misc/ moving it to local/
* library: Rename to libproc2Craig Small2022-08-291-1/+1
| | | | | | | | | | The newlib library used to be called libproc-2 but the new name is preferred. References: https://www.freelists.org/post/procps/Next-for-newlib,3 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Relocate lib/Craig Small2022-08-291-1/+1
| | | | | | | | test files in lib go to src/tests include/ goes to local/ lib/*.c goes to local/ Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Relocate library to library/Craig Small2022-08-291-1/+1
| | | | | | All the dependent programs needed to have their includes moved too Signed-off-by: Craig Small <csmall@dropbear.xyz>
* misc: Move all binaries to srcCraig Small2022-08-291-1/+1
| | | | | | | | *.c -> src/ ps/* src/ps/ top/* src/top/ Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Rearrange the manual pagesCraig Small2022-08-291-1/+1
| | | | | | | | | | All man pages are found in ./man man-po -> po-man References: https://www.freelists.org/post/procps/Next-for-newlib,3 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Give sensible errors if missing pkg-configCraig Small2022-05-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pkg-config is used to find various libraries used by procps. Unfortunately it, or rather automake, give terrible misleading error messages if pkg-config is not installed. At ./configure time you get this: configure: error: ncurses support missing/incomplete (for partial build use --without-ncurses) At automake time you get this: configure.ac:33: error: possibly undefined macro: AC_MSG_ERROR If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:48: error: possibly undefined macro: AS_IF configure.ac:113: error: possibly undefined macro: AC_DEFINE The internet is filled with such wonderful other examples. This commit does two things: At autoconf time, check PKG_PREREQ macro is defined which is found in pkg.m4 and tells us pkg-config has its macros available. At configure time, check the result of the pkg-config test and error if it didn't find it. Now it actually says its missing pkg-config. To be fair, the autoconf check is "documented" and recommended in pkg.m4 file. Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Use ncursesw by defaultCraig Small2022-05-211-22/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing build system would only require wide ncurses for a wide watch and even if the library was there would not link anything else to it. The first issue which #123 made me think of, is if ncursesw was there and ncurses is not, why not use ncursesw? A more major issue is if programs such as slabtop are linked to ncurses, then certain languages will display their text wrong, as found in #237. The days of assuming ASCII only is ok are over the build system now does the following: 1. If ncursesw is available use this for all relevant programs 2. If ncursesw is not but ncurses is, use this instead 3. If you enable 8bit watch and either disable ncurses or we cannot find ncursesw error at configure time. In related news, I hate M4sh. References: procps-ng/procps#123 procps-ng/procps#237 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys: Add missing configure flagCraig Small2022-05-041-0/+3
| | | | | | | | | Missed adding configure.acfor the use ctty commit References: commit b47693c078c256e897baf6b50f3aaf6accb5d35e Signed-off-by: Craig Small <csmall@dropbear.xyz>
* build-sys:Craig Small2022-04-111-0/+1
| | | | | | | | | | | | While the previous commit checked for a GNU environment so Hurd compilied ok, this tripped up Cygwin. configure now explicitly tests for the structure field rather than trying to guess through compilier flags about what the environment tells us about signals.h References: commit d39d9db07974f4f09cd2f31137742a7ea3be65c5 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* Add support for elogindSven Eden2022-04-011-0/+13
| | | | | | | A session manager similar to logind from systemd. See https://github.com/elogind/elogind Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
* configure: add macro to check for __PROGNAMEHenrik Grimler2021-05-291-0/+16
| | | | | | | in include/c.h we check if HAVE___PROGNAME is defined, but the corresponding macro for setting (or not setting) it is missing from the configure script. This commit adds the missing macro, by copying it from the macro in tmux.
* build-sys: find split systemd librariesChristian Hermann2021-04-241-1/+3
| | | | | | | | | | | | | With 4e7f4237 and 5e73c832, systemd library detection through pkg-config was changed to unconditionally look for unified libsystemd. This adds a fallback to match the previous behavior and find the split libs as well. References: procps-ng/procps!128 Signed-off-by: Craig Small <csmall@dropbear.xyz>
* configure: Add --disable-wIssam E. Maghni2021-04-241-0/+6
| | | | | | | | | | Some systems implement utmp as a stub so it doesn't make sense to have a non-functioning w. This change mitigates #193 and !126 References: procps-ng/procps!129 procps-ng/procps!126 procps-ng/procps#193
* library: Rename to libproc-2Craig Small2021-02-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | What to call the new library? Keep using libprocps wouldn't do, its a very different library from the programs' point of view. It would also mean we could have some clashes around the packages (two package names, same library name). The ancient procps used libproc or libproc-a.b.c where a.b.c was the package version. Kept the revision numbers down (it was always 0.0.0) but the name of the library changed. So if we use libproc-2 is there a clash with an ancient procps? procps v 2.0.0 was around in 1999 so it was 22 years ago, also the name of the library would have been libproc-2.0.0.so not libproc-2.so so we're fine with that. libproc-2 seems to fit, our second major re-work of the procps library. Signed-off-by: Craig Small <csmall@dropbear.xyz>
* pidwait: Rename from pwaitCraig Small2021-02-151-6/+6
| | | | | | | pwait is already in at least Debian in a different package References: https://bugs.debian.org/982391
* build-sys: Update building of translationsCraig Small2021-02-151-0/+12
| | | | | newlib was lagging behind oldlib in how the build system created the translation files.
* Merge branch 'awilfox/procps-utmpx-support'Craig Small2020-12-221-1/+1
| | | | | References: procps-ng/procps!67
* pgrep: add pwaitAlex Xu (Hello71)2020-12-221-0/+16
|
* watch: Support wide char ncurses on mac with enable-watch8bitNipunn Koorapati2020-12-221-2/+5
| | | | Fixes #47
* build-sys: updated autoscan for that configure.ac fileJim Warner2020-09-131-1/+1
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* Port of merge request 49 to newlibCraig Small2017-08-191-0/+21
| | | | | Wayne Porter made !49 which added Cygwin support to the master branch This is the port of those changes to newlib
* top: show fewer decimal places for memory (by default)Jim Warner2017-03-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After much reflection I've come to the conclusion that displaying 3 decimal places (usually) when memory data had been scaled is no longer optimal with today's ever increasing amounts. And given that not all task memory fields are the same widths, inconsistencies can easily arise as illustrated and discussed in the issue below. Instead of unilaterally reducing the number of decimal places, this commit will sneak in such a change via an existing configure option that was very likely unused. The former 'disable-wide-memory' option has now become 'enable-wide-memory', which can be used if the current behavior (3 decimal places) is preferred. Without that option, whenever memory is scaled beyond KiB, just one decimal place will be shown in Summary and Task areas. And Task area field width will no longer be changed by this revised configure option. Instead, all such field widths will now be fixed at the former maximum values. Reference(s): https://gitlab.com/procps-ng/procps/issues/50 [ this patch has been adapted from the master branch ] Signed-off-by: Jim Warner <james.warner@comcast.net>
* build sys: update configure.ac for the latest autoscanJim Warner2016-07-091-2/+3
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* build-sys: Enable optional hardening flagsCraig Small2016-04-251-0/+23
| | | | | | | | | | | | With the configure option --enable-harden-flags the CFLAGS and LDFLAGS are manipulated to provide some hardening protection to the binaries. psmisc uses these flags on by default with no troubles, however it doesn't have a library in it either. References: https://wiki.debian.org/Hardening
* Added Cygwin build supportWayne Porter2016-03-121-0/+1
| | | | | strverscmp is included to satisfy a dependency in Cygwin. Excluded utmp and prctl functions that are not supported currently.
* enable transparent large file supportMike Frysinger2016-03-101-1/+2
| | | | | | | | | | Historically LFS mattered only to open/read large files. A few programs here use open/seek, but not generally on files that are large. However, LFS also applies to stat which procps does in a bunch of places -- some filesystems have 64bit inodes and attempts to do a 32bit stat will throw an error. Enable transparent LFS everywhere to avoid this.
* Merge branch 'master' into newlibCraig Small2015-10-281-13/+4
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: pgrep.c proc/sysinfo.c ps/output.c skill.c top/top.c top/top.h w.c
| * configure.ac: do not check for C++ compilerJohn Keeping2015-08-181-1/+0
| | | | | | | | | | | | | | We do not have any C++ code, so there is no point in checking for C++ tools in the configure script. Signed-off-by: John Keeping <john@keeping.me.uk>
| * build-sys: Clean up libsystemd in configureCraig Small2015-07-091-12/+4
| | | | | | | | | | | | The previous commit got rid of some but not all the library. The format of it was a little odd with the library being explicitly defined instead of letting autoconf do it for you.
| * build-sys: use merged systemd libraryCraig Small2015-07-091-3/+3
| | | | | | | | | | | | | | | | | | | | Since systemd 209 released in Feb 2014 three systemd libraries including systemd-login have been merged. This change merely checks for, and links to, the new library. References: http://lists.freedesktop.org/archives/systemd-devel/2014-February/017146.html https://bugs.debian.org/731256
* | build, library & top: make OOMEM options unconditionalJim Warner2015-08-231-8/+0
|/ | | | | | | | It was probably always wrong to have a variable length proc_t structure. This patch takes all remaining oomem former suse only options and makes them unconditional. Signed-off-by: Jim Warner <james.warner@comcast.net>
* Merge branch 'filbranden/procps-build_sys_cleanup_usrbin'Craig Small2015-05-101-12/+4
|\ | | | | | | | | | | | | | | configure.ac conflict was due to the git url being changed after the merge request. Conflicts: configure.ac
| * build-sys: install binaries in bindir (get rid of usrbin_execdir)Filipe Brandenburger2015-05-011-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "usrbin_execdir" hack meant to install some binaries in /bin and others in /usr/bin. However: - It is very inflexible: not much control on the final directory name and it is not possible to get rid of the usr/bin suffix without patching the build system. - It is hard to use: it requires configure to receive --exec_prefix=/ and other settings do not make much sense. It is not very obvious that that setting needs to be passed and it takes a while to figure it out. - It produces garbage with the default setup: the default prefix of /usr/local ends up installing the binaries under /usr/local/usr/bin which does not make any sense. Furthermore, the requirement to split binaries in /bin and /usr/bin is not that strong since some distributions adopted the /usr merge and so would agree to just deploy all binaries to /usr/bin directly. Distributions that would still like to split /bin from /usr/bin should actually move binaries such as `ps` and `kill` to /bin after the install of procps-ng is complete. After all, they are the ones responsible for determining what are the binaries that need to be in the root partition and that list depends on their early boot init scripts, so it is possible that the list must be augmented with other binaries from this package. Therefore, I propose here to get rid of that hack and simply install all the binaries to bindir instead, which solves the problems described above and simplifies the build and install of procps-ng. Tested that it builds and both `make check` and `make distcheck` work. Tested that `make install` works and produces the expected tree, the only difference being the absence of the bogus /usr/local/usr/bin directory and now all binaries are merged into /usr/local/bin as expected. Signed-off-by: Filipe Brandenburger <filbranden@google.com>
| * build-sys: enable "subdir-objects" automake optionFilipe Brandenburger2015-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, automake 1.14 will warn that this option will become the default in an upcoming release, which will cause problems for the procps-ng build. Now that the automake rules were merged in the top level Makefile.am, it is possible to enable "subdir-objects" without breaking the build or the dist. Tested that it builds and both `make check` and `make distcheck` work. Tested that `make install` works and produces the same tree before and after this change. Confirmed that binaries are also placed in the same locations in the build tree. Signed-off-by: Filipe Brandenburger <filbranden@google.com>
| * build-sys: merge automake subdirs into toplevelFilipe Brandenburger2015-05-011-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be required for subdir-objects, otherwise automake will have problems with more than one Makefile.am having rules to build the same files. Tested that it builds and both `make check` and `make distcheck` work. Tested `make install` and compared the tree with the one installed before this commit, both installed the binaries to the same locations. The binaries are also in the same location in the build tree (for instance, ps/pscommand is still there.) Checked the binaries for the correct libraries linked into them. Binary sizes matched before and after this change. Signed-off-by: Filipe Brandenburger <filbranden@google.com>
| * build-sys: remove AC_PROG_RANLIB from configure.acFilipe Brandenburger2015-05-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | This suppresses the following warning from libtoolize 2.4.2: libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT' Tested that this does not break the build and that both `make check` and `make distcheck` continue working as expected. Signed-off-by: Filipe Brandenburger <filbranden@google.com>
* | Changed git site to gitlabCraig Small2015-05-101-1/+1
|/
* configure.ac: re-enabling the ALL_LINGUAS related checksJaromir Capik2014-09-151-6/+6
|
* Handle 'none required' result from AC_SEARCH_LIBSMichael Forney2014-08-281-1/+3
|
* library: generalize then add former 'ps' systemd logicJim Warner2014-07-171-1/+1
| | | | Signed-off-by: Jim Warner <james.warner@comcast.net>
* top: retire old stale startup defaults in favor of newJim Warner2014-07-011-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | For over a decade top has used a startup configuration mimicking the original redhat top. This decision dates back to when the forked Sourceforge version was trying to win over users in battles with that ancient kludge. Will anybody deny that those defaults are coyote ugly? Well, it is time that top presented a more modern look at startup, providing that no saved rcfile exists. But just in case some distro prefers that old, comfortable look, there's the '--disable-modern-top' build option. [ Pssst. With the widened memory fields it turns out ] [ the 'Mem' default window had become almost useless ] [ on an 80x24 terminal since %CPU & COMMAND were out ] [ of view. So some other defaults were tweaked a bit ] [ whether or not --disable-modern-top was specified. ] Reference(s) http://www.freelists.org/post/procps/tops-graph-mode-saga-continues,3 Signed-off-by: Jim Warner <james.warner@comcast.net>
* Manpage translations in MakefilesCraig Small2014-06-281-0/+1
| | | | | | | | | | | | | | | | | The translated manpage generation has moved from scripts to Makefiles. This asists with conditional building as well, no need to regenerate the German pgrep man page if both the original pgrep.1 and man-po/de.po is not changed. My Makefile-fu fails me on producing a cross-product or double iteration for languages and man pages. Until that is solved each man page is explicitly built. No big deal but it doesn't look elegant in the Makefile. Languages will be picked up automatically if they are found in man-po, man-po/top or man-po/ps The README describes the three-step process for translating the files, incase I forget or someone else wants to update them.
* ps: possibility to display slice unit for a processLukas Nykryn2013-10-161-2/+2
| | | | | | | | | | | | Library systemd-login offers possibility to display name of a systemd slice unit for specific pid. This patch adds output option "slice" which will show name of systemd slice unit. To maintain compatibility with non-systemd systems, procps must be configured with --with-systemd option to enable this option.
* pidof: reimplemented from scratch (replacing sysvinit pidof)Jaromir Capik2013-10-101-0/+6
| | | | | | | | | | As the sysvinit becomes obsolete, some of the bundled tools need to find a new home. The procps-ng project seems to be the most suitable project for adopting the pidof tool. This commit introduces a redesigned version of pidof that satisfies the LSB requirements. In corner cases the behaviour might differ from the former one as the new version doesn't use any stat(2) calls.
* build-sys: add support for silent builsKarel Zak2013-08-131-0/+1
| | | | | | | | | | | | | | The automake AM_SILENT_RULES macro is supported since automake 1.11 (which is required for procps). The silent functionality is enabled by default, you can change it by: ./configure --disable-silent-rules or make V=1 Note that make still prints compiler errors, etc. Signed-off-by: Karel Zak <kzak@redhat.com>