mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00:00
Add --with-nonshared-cflags option to configure
This commit is contained in:
parent
93a2584cd2
commit
6413fcde4f
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
2018-08-16 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
|
* configure.ac: Add --with-nonshared-cflags option.
|
||||||
|
* config.make.in (extra-nonshared-cflags): Set variable.
|
||||||
|
* Makeconfig (CFLAGS-.oS): Use it.
|
||||||
|
* manual/install.texi (Configuring and compiling): Document
|
||||||
|
--with-nonshared-cflags.
|
||||||
|
* configure: Regenerate.
|
||||||
|
* INSTALL: Likewise.
|
||||||
|
|
||||||
2018-08-16 Florian Weimer <fweimer@redhat.com>
|
2018-08-16 Florian Weimer <fweimer@redhat.com>
|
||||||
|
|
||||||
* Makeconfig (ASFLAGS): Always append required assembler flags.
|
* Makeconfig (ASFLAGS): Always append required assembler flags.
|
||||||
|
16
INSTALL
16
INSTALL
@ -90,6 +90,22 @@ if 'CFLAGS' is specified it must enable optimization. For example:
|
|||||||
library will still be usable, but functionality may be lost--for
|
library will still be usable, but functionality may be lost--for
|
||||||
example, you can't build a shared libc with old binutils.
|
example, you can't build a shared libc with old binutils.
|
||||||
|
|
||||||
|
'--with-nonshared-cflags=CFLAGS'
|
||||||
|
Use additional compiler flags CFLAGS to build the parts of the
|
||||||
|
library which are always statically linked into applications and
|
||||||
|
libraries even with shared linking (that is, the object files
|
||||||
|
contained in 'lib*_nonshared.a' libraries). The build process will
|
||||||
|
automatically use the appropriate flags, but this option can be
|
||||||
|
used to set additional flags required for building applications and
|
||||||
|
libraries, to match local policy. For example, if such a policy
|
||||||
|
requires that all code linked into applications must be built with
|
||||||
|
source fortification,
|
||||||
|
'--with-nonshared-cflags=-Wp,-D_FORTIFY_SOURCE=2' will make sure
|
||||||
|
that the objects in 'libc_nonshared.a' are compiled with this flag
|
||||||
|
(although this will not affect the generated code in this
|
||||||
|
particular case and potentially change debugging information and
|
||||||
|
metadata only).
|
||||||
|
|
||||||
'--disable-shared'
|
'--disable-shared'
|
||||||
Don't build shared libraries even if it is possible. Not all
|
Don't build shared libraries even if it is possible. Not all
|
||||||
systems support shared libraries; you need ELF support and
|
systems support shared libraries; you need ELF support and
|
||||||
|
@ -1038,7 +1038,7 @@ object-suffixes-for-libc += .oS
|
|||||||
# Must build the routines as PIC, though, because they can end up in (users')
|
# Must build the routines as PIC, though, because they can end up in (users')
|
||||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||||
# example, make that processor-specific.
|
# example, make that processor-specific.
|
||||||
CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag) $(extra-nonshared-cflags)
|
||||||
CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||||
libtype.oS = lib%_nonshared.a
|
libtype.oS = lib%_nonshared.a
|
||||||
endif
|
endif
|
||||||
|
@ -110,6 +110,7 @@ BUILD_CC = @BUILD_CC@
|
|||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
CPPFLAGS-config = @CPPFLAGS@
|
CPPFLAGS-config = @CPPFLAGS@
|
||||||
CPPUNDEFS = @CPPUNDEFS@
|
CPPUNDEFS = @CPPUNDEFS@
|
||||||
|
extra-nonshared-cflags = @extra_nonshared_cflags@
|
||||||
ASFLAGS-config = @ASFLAGS_config@
|
ASFLAGS-config = @ASFLAGS_config@
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
NM = @NM@
|
NM = @NM@
|
||||||
|
14
configure
vendored
14
configure
vendored
@ -684,6 +684,7 @@ force_install
|
|||||||
bindnow
|
bindnow
|
||||||
hardcoded_path_in_tests
|
hardcoded_path_in_tests
|
||||||
enable_timezone_tools
|
enable_timezone_tools
|
||||||
|
extra_nonshared_cflags
|
||||||
use_default_link
|
use_default_link
|
||||||
sysheaders
|
sysheaders
|
||||||
ac_ct_CXX
|
ac_ct_CXX
|
||||||
@ -762,6 +763,7 @@ with_binutils
|
|||||||
with_selinux
|
with_selinux
|
||||||
with_headers
|
with_headers
|
||||||
with_default_link
|
with_default_link
|
||||||
|
with_nonshared_cflags
|
||||||
enable_sanity_checks
|
enable_sanity_checks
|
||||||
enable_shared
|
enable_shared
|
||||||
enable_profile
|
enable_profile
|
||||||
@ -1482,6 +1484,8 @@ Optional Packages:
|
|||||||
--with-headers=PATH location of system headers to use (for example
|
--with-headers=PATH location of system headers to use (for example
|
||||||
/usr/src/linux/include) [default=compiler default]
|
/usr/src/linux/include) [default=compiler default]
|
||||||
--with-default-link do not use explicit linker scripts
|
--with-default-link do not use explicit linker scripts
|
||||||
|
--with-nonshared-cflags=CFLAGS
|
||||||
|
build nonshared libraries with additional CFLAGS
|
||||||
--with-cpu=CPU select code for CPU variant
|
--with-cpu=CPU select code for CPU variant
|
||||||
|
|
||||||
Some influential environment variables:
|
Some influential environment variables:
|
||||||
@ -3339,6 +3343,16 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Check whether --with-nonshared-cflags was given.
|
||||||
|
if test "${with_nonshared_cflags+set}" = set; then :
|
||||||
|
withval=$with_nonshared_cflags; extra_nonshared_cflags=$withval
|
||||||
|
else
|
||||||
|
extra_nonshared_cflags=
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Check whether --enable-sanity-checks was given.
|
# Check whether --enable-sanity-checks was given.
|
||||||
if test "${enable_sanity_checks+set}" = set; then :
|
if test "${enable_sanity_checks+set}" = set; then :
|
||||||
enableval=$enable_sanity_checks; enable_sanity=$enableval
|
enableval=$enable_sanity_checks; enable_sanity=$enableval
|
||||||
|
@ -154,6 +154,14 @@ AC_ARG_WITH([default-link],
|
|||||||
[use_default_link=$withval],
|
[use_default_link=$withval],
|
||||||
[use_default_link=default])
|
[use_default_link=default])
|
||||||
|
|
||||||
|
dnl Additional build flags injection.
|
||||||
|
AC_ARG_WITH([nonshared-cflags],
|
||||||
|
AC_HELP_STRING([--with-nonshared-cflags=CFLAGS],
|
||||||
|
[build nonshared libraries with additional CFLAGS]),
|
||||||
|
[extra_nonshared_cflags=$withval],
|
||||||
|
[extra_nonshared_cflags=])
|
||||||
|
AC_SUBST(extra_nonshared_cflags)
|
||||||
|
|
||||||
AC_ARG_ENABLE([sanity-checks],
|
AC_ARG_ENABLE([sanity-checks],
|
||||||
AC_HELP_STRING([--disable-sanity-checks],
|
AC_HELP_STRING([--disable-sanity-checks],
|
||||||
[really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
|
[really do not use threads (should not be used except in special situations) @<:@default=yes@:>@]),
|
||||||
|
@ -117,6 +117,20 @@ problem and suppress these constructs, so that the library will still be
|
|||||||
usable, but functionality may be lost---for example, you can't build a
|
usable, but functionality may be lost---for example, you can't build a
|
||||||
shared libc with old binutils.
|
shared libc with old binutils.
|
||||||
|
|
||||||
|
@item --with-nonshared-cflags=@var{cflags}
|
||||||
|
Use additional compiler flags @var{cflags} to build the parts of the
|
||||||
|
library which are always statically linked into applications and
|
||||||
|
libraries even with shared linking (that is, the object files contained
|
||||||
|
in @file{lib*_nonshared.a} libraries). The build process will
|
||||||
|
automatically use the appropriate flags, but this option can be used to
|
||||||
|
set additional flags required for building applications and libraries,
|
||||||
|
to match local policy. For example, if such a policy requires that all
|
||||||
|
code linked into applications must be built with source fortification,
|
||||||
|
@samp{--with-nonshared-cflags=-Wp,-D_FORTIFY_SOURCE=2} will make sure
|
||||||
|
that the objects in @file{libc_nonshared.a} are compiled with this flag
|
||||||
|
(although this will not affect the generated code in this particular
|
||||||
|
case and potentially change debugging information and metadata only).
|
||||||
|
|
||||||
@c disable static doesn't work currently
|
@c disable static doesn't work currently
|
||||||
@c @item --disable-static
|
@c @item --disable-static
|
||||||
@c Don't build static libraries. Static libraries aren't that useful these
|
@c Don't build static libraries. Static libraries aren't that useful these
|
||||||
|
Loading…
Reference in New Issue
Block a user