makepkg: add rust support for *FLAGS and debug-prefix-map
The rust language supports $RUSTFLAGS to be used automatically in all rustc invocations. Allow setting this in makepkg.conf (e.g. for optimization or debuginfo support), and teach debug+strip to pass the rustc command line argument necessary to rewrite source file paths in the debugging symbols. Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
48752f1b4b
commit
bcacb00fc8
6 changed files with 19 additions and 6 deletions
|
@ -72,6 +72,10 @@ Options
|
|||
**CXXFLAGS=**"cxxflags"::
|
||||
Flags used for the C++ compiler; see CFLAGS for more info.
|
||||
|
||||
**RUSTFLAGS=**"rustflags"::
|
||||
Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
|
||||
linkman:rustc[1] for more details on the available flags.
|
||||
|
||||
**LDFLAGS=**"ldflags"::
|
||||
Flags used for the linker. Several options may be specified with common
|
||||
usage resembling ``-Wl,--hash-style=gnu''. Read ld(1) for more details on
|
||||
|
@ -89,6 +93,11 @@ Options
|
|||
**DEBUG_CXXFLAGS=**"debug_cxxflags"::
|
||||
Debug flags used for the C++ compiler; see DEBUG_CFLAGS for more info.
|
||||
|
||||
**DEBUG_RUSTFLAGS=**"debug_rustflags"::
|
||||
Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
|
||||
Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
|
||||
more details on the available flags.
|
||||
|
||||
**BUILDENV=(**!distcc !color !ccache check !sign**)**::
|
||||
This array contains options that affect the build environment; the defaults
|
||||
are shown here. All options should always be left in the array; to enable
|
||||
|
|
|
@ -40,11 +40,13 @@ CHOST="@CHOST@"
|
|||
#CFLAGS="-O2 -pipe"
|
||||
#CXXFLAGS="-O2 -pipe"
|
||||
#LDFLAGS=""
|
||||
#RUSTFLAGS="-C opt-level=2"
|
||||
#-- Make Flags: change this for DistCC/SMP systems
|
||||
#MAKEFLAGS="-j2"
|
||||
#-- Debugging flags
|
||||
#DEBUG_CFLAGS="-g"
|
||||
#DEBUG_CXXFLAGS="-g"
|
||||
#DEBUG_RUSTFLAGS="-C debuginfo=2"
|
||||
|
||||
#########################################################################
|
||||
# BUILD ENVIRONMENT
|
||||
|
|
|
@ -36,5 +36,5 @@ prepare_buildenv() {
|
|||
done
|
||||
|
||||
# ensure all necessary build variables are exported
|
||||
export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS MAKEFLAGS CHOST
|
||||
export CPPFLAGS CFLAGS CXXFLAGS LDFLAGS RUSTFLAGS MAKEFLAGS CHOST
|
||||
}
|
||||
|
|
|
@ -30,6 +30,6 @@ buildenv_functions+=('buildenv_buildflags')
|
|||
|
||||
buildenv_buildflags() {
|
||||
if check_option "buildflags" "n"; then
|
||||
unset CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS
|
||||
unset CPPFLAGS CFLAGS DEBUG_CFLAGS CXXFLAGS DEBUG_CXXFLAGS LDFLAGS RUSTFLAGS DEBUG_RUSTFLAGS
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -32,7 +32,9 @@ buildenv_debugflags() {
|
|||
if check_option "debug" "y"; then
|
||||
DEBUG_CFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
|
||||
DEBUG_CXXFLAGS+=" -fdebug-prefix-map=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
|
||||
DEBUG_RUSTFLAGS+=" --remap-path-prefix=$srcdir=${DBGSRCDIR:-/usr/src/debug}"
|
||||
CFLAGS+=" $DEBUG_CFLAGS"
|
||||
CXXFLAGS+=" $DEBUG_CXXFLAGS"
|
||||
RUSTFLAGS+=" $DEBUG_RUSTFLAGS"
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -32,10 +32,10 @@ lint_config_variables() {
|
|||
local array=(DLAGENTS VCSCLIENTS BUILDENV OPTIONS INTEGRITY_CHECK MAN_DIRS
|
||||
DOC_DIRS PURGE_TARGETS COMPRESSGZ COMPRESSBZ2 COMPRESSXZ
|
||||
COMPRESSLRZ COMPRESSLZO COMPRESSZ)
|
||||
local string=(CARCH CHOST CPPFLAGS CFLAGS CXXFLAGS LDFLAGS DEBUG_CFLAGS
|
||||
DEBUG_CXXFLAGS DISTCC_HOSTS BUILDDIR STRIP_BINARIES STRIP_SHARED
|
||||
STRIP_STATIC PKGDEST SRCDEST SRCPKGDEST LOGDEST PACKAGER GPGKEY
|
||||
PKGEXT SRCEXT)
|
||||
local string=(CARCH CHOST CPPFLAGS CFLAGS CXXFLAGS RUSTFLAGS LDFLAGS DEBUG_CFLAGS
|
||||
DEBUG_CXXFLAGS DEBUG_RUSTFLAGS DISTCC_HOSTS BUILDDIR STRIP_BINARIES
|
||||
STRIP_SHARED STRIP_STATIC PKGDEST SRCDEST SRCPKGDEST LOGDEST PACKAGER
|
||||
GPGKEY PKGEXT SRCEXT)
|
||||
|
||||
local i keys ret=0
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue