diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-03-31 00:23:30 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-03-31 00:23:30 +0000 |
| commit | e179eee278afc20b0e85fb3b954b98cf632b2afd (patch) | |
| tree | d93368f08be953e648e737d03b08ccf4ed1214af | |
| parent | 07f677df38e1aedfa2e7f24f7e63db757d3cb782 (diff) | |
| download | s6-e179eee278afc20b0e85fb3b954b98cf632b2afd.tar.gz | |
Add support for disabling rpath; update deps
| -rw-r--r-- | INSTALL | 6 | ||||
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | NEWS | 1 | ||||
| -rwxr-xr-x | configure | 9 | ||||
| -rw-r--r-- | doc/index.html | 6 | ||||
| -rw-r--r-- | doc/upgrade.html | 7 | ||||
| -rwxr-xr-x | tools/configure.template | 9 |
7 files changed, 32 insertions, 8 deletions
@@ -6,11 +6,11 @@ Build Instructions - A POSIX-compliant C development environment - GNU make version 3.81 or later - - skalibs version 2.14.6.0 or later: https://skarnet.org/software/skalibs/ - - Recommended: execline version 2.9.8.1 or later: https://skarnet.org/software/execline/ + - skalibs version 2.15.0.0 or later: https://skarnet.org/software/skalibs/ + - Recommended: execline version 2.9.8.2 or later: https://skarnet.org/software/execline/ (You can disable this requirement at configure time, but will lose some functionality.) - - Optional: nsss version 0.2.1.1 or later: https://skarnet.org/software/nsss/ + - Optional: nsss version 0.2.1.2 or later: https://skarnet.org/software/nsss/ This software will run on any operating system that implements POSIX.1-2024, available at: @@ -188,7 +188,7 @@ lib%.a.xyzzy: exec $(RANLIB) $@ lib%.so.xyzzy: - exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,$(patsubst lib%.so.xyzzy,lib%.so.$(version_M),$@) -Wl,-rpath=$(dynlibdir) $^ $(EXTRA_LIBS) $(LDLIBS) + exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,$(patsubst lib%.so.xyzzy,lib%.so.$(version_M),$@) $(LDFLAGS_RPATH) $^ $(EXTRA_LIBS) $(LDLIBS) -lskarnet: $(error Unable to link against skalibs. Check that you are using the correct --with-lib or --with-dynlib options; see ./configure --help) @@ -4,6 +4,7 @@ In 2.15.0.0 ----------- - Bugfixes. + - Adaptation to skalibs-2.15.0.0. - s6-svscan's scandir argument is now mandatory. - s6-setsid now autodetects its controlling terminal by default. - Complete ftrigr refactor. This doesn't impact CLI programs, @@ -45,6 +45,7 @@ Optional features: --disable-allstatic do not prefer linking against static libraries [enabled] --enable-static-libc make entirely static binaries [disabled] --disable-all-pic do not build executables or static libs as PIC [enabled] + --disable-rpath do not embed RPATH in libraries [enabled] --enable-pkgconfig Build and install .pc files for pkg-config [disabled] --enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled] --enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled] @@ -156,6 +157,7 @@ shlibext=so shared=false static=true allpic=true +rpath=true slashpackage=false abspath=false pcw=false @@ -208,6 +210,8 @@ for arg ; do --disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;; --enable-all-pic|--enable-all-pic=yes) allpic=true ;; --disable-all-pic|--enable-all-pic=no) allpic=false ;; + --enable-rpath|--enable-rpath=yes) rpath=true ;; + --disable-rpath|--enable-rpath=no) rpath=false ;; --enable-pkgconfig|--enable-pkgconfig=yes) pcw=true ;; --disable-pkgconfig|--enable-pkgconfig=no) pcw=false ;; --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;; @@ -520,6 +524,11 @@ if $shared ; then else echo "DO_SHARED :=" fi +if $rpath ; then + echo "LDFLAGS_RPATH := -Wl,-rpath=${dynlibdir}" +else + echo "LDFLAGS_RPATH :=" +fi if $pcw ; then echo "DO_PKGCONFIG := 1" else diff --git a/doc/index.html b/doc/index.html index 925661e..809a7a8 100644 --- a/doc/index.html +++ b/doc/index.html @@ -83,12 +83,12 @@ with s6</a> </li> <li> A POSIX-compliant system with a standard C development environment </li> <li> GNU make, version 3.81 or later </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> version -2.14.6.0 or later. It's a build-time requirement. It's also a run-time +2.15.0.0 or later. It's a build-time requirement. It's also a run-time requirement if you link against the shared version of the skalibs library. </li> <li> (Optional, but really recommended for full functionality): <a href="//skarnet.org/software/execline/">execline</a> version -2.9.8.1 or later. When s6 is built with execline support (which is the default), +2.9.8.2 or later. When s6 is built with execline support (which is the default), execline is a build-time requirement, and also a run-time requirement for certain binaries that spawn scripts interpreted with <a href="//skarnet.org/software/execline/execlineb.html">execlineb</a>. </li> @@ -102,7 +102,7 @@ certain binaries that spawn scripts interpreted with <li> If you're using <a href="https://www.musl-libc.org/">musl</a> and want nsswitch-like functionality: <a href="//skarnet.org/software/nsss/">nsss</a> version -0.2.1.1 or later (build-time and boot-time) </li> +0.2.1.2 or later (build-time and boot-time) </li> </ul> <h3> Licensing </h3> diff --git a/doc/upgrade.html b/doc/upgrade.html index 8ae86f5..b7bc033 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -21,8 +21,13 @@ <h2> in 2.15.0.0 </h2> <ul> + <li> Support for disabling RPATH at configure time. </li> <li> <a href="//skarnet.org/software/skalibs/">skalibs</a> -dependency bumped to 2.14.6.0 </li> +dependency bumped to 2.15.0.0 </li> + <li> <a href="//skarnet.org/software/nsss/">nsss</a> +optional dependency bumped to 0.2.1.2. </li> + <li> <a href="//skarnet.org/software/execline/">execline</a> +recommended dependency bumped to 2.9.8.2. </li> <li> Large changes around the <a href="libs6/ftrigr.html">ftrigr library</a>: <ul> <li> <a href="s6-ftrigrd.html">s6-ftrigrd</a> is now an diff --git a/tools/configure.template b/tools/configure.template index ac8ac86..b693f5c 100755 --- a/tools/configure.template +++ b/tools/configure.template @@ -45,6 +45,7 @@ Optional features: --disable-allstatic do not prefer linking against static libraries [enabled] --enable-static-libc make entirely static binaries [disabled] --disable-all-pic do not build executables or static libs as PIC [enabled] + --disable-rpath do not embed RPATH in libraries [enabled] --enable-pkgconfig Build and install .pc files for pkg-config [disabled] --enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled] --enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled] @@ -151,6 +152,7 @@ shlibext=so shared=false static=true allpic=true +rpath=true slashpackage=false abspath=false pcw=false @@ -199,6 +201,8 @@ for arg ; do --disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;; --enable-all-pic|--enable-all-pic=yes) allpic=true ;; --disable-all-pic|--enable-all-pic=no) allpic=false ;; + --enable-rpath|--enable-rpath=yes) rpath=true ;; + --disable-rpath|--enable-rpath=no) rpath=false ;; --enable-pkgconfig|--enable-pkgconfig=yes) pcw=true ;; --disable-pkgconfig|--enable-pkgconfig=no) pcw=false ;; --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;; @@ -502,6 +506,11 @@ if $shared ; then else echo "DO_SHARED :=" fi +if $rpath ; then + echo "LDFLAGS_RPATH := -Wl,-rpath=${dynlibdir}" +else + echo "LDFLAGS_RPATH :=" +fi if $pcw ; then echo "DO_PKGCONFIG := 1" else |
