Add yet another define option for the spec file:
use_default_rpm_opt_flags. It defaults to a value of 1, meaning that we'll try to use $RPM_OPT_FLAGS. But if you're not compiling with the GNU compilers, you might want to set this value to 0 so that your compiler doesn't get flags that it doesn't understand (e.g., PGI 7.0 will barf on flags that it doesn't understand). This commit was SVN r14477.
Этот коммит содержится в:
родитель
1682a72d34
Коммит
08041a54c5
79
contrib/dist/linux/README
поставляемый
79
contrib/dist/linux/README
поставляемый
@ -34,76 +34,9 @@ The prefix, target architecture, and choice of RPM(s) to build are all
|
||||
currently hard-coded in the beginning of the buildrpm.sh script.
|
||||
|
||||
Alternatively, you can build directly from the openmpi.spec spec file
|
||||
or SRPM directly. The following options are permissable on the
|
||||
"rpmbuild" command line via the --define option:
|
||||
|
||||
- lanl: 0 or 1 (default: 0)
|
||||
A shortcut for several Los Alamos-specific options (see specfile for
|
||||
current list of values -- look for "%if %{lanl}").
|
||||
|
||||
- install_in_opt: 0 or 1 (default: 0)
|
||||
If 1, use a prefix of /opt/openmpi/<version>-<release>.
|
||||
|
||||
- install_profile_d_scripts: 0 or 1 (default: 0)
|
||||
If 1, and install_in_opt is 1, then install the /etc/profile.d
|
||||
scripts.
|
||||
|
||||
- install_modulefile: 0 or 1 (default: 0)
|
||||
If 1 and if install_in_opt is 1, then install a modulefile in
|
||||
%{modulefile_path}/%{modulefile_subdir}/%{modulefile_name}
|
||||
|
||||
- modulefile_path: string (default: "/etc/modulefiles")
|
||||
Defaults to /etc/modulefiles
|
||||
|
||||
- modulefile_subdir: string (default: "openmpi")
|
||||
Defaults to openmpi
|
||||
|
||||
- modulefile_name: string (default: "%{version}")
|
||||
Defaults to %{version}
|
||||
|
||||
- modules_rpm_name: string ("modules")
|
||||
Name of the environment modules RPM to "require".
|
||||
|
||||
- build_debuginfo_rpm: 0 or 1 (default: 0)
|
||||
If 1, builds a corresponding debuginfo rpm.
|
||||
|
||||
- _prefix (etc.): string (default: supplied by rpmbuild)
|
||||
Prefix directory (all other standard names are also supported, such
|
||||
as _libdir, _sysconfdir, _includedir, etc.).
|
||||
|
||||
- configure_options: string (default: "")
|
||||
String to pass directly to the ./configure script.
|
||||
|
||||
- _packager: string (default: supplied by rpmbuild)
|
||||
Name of the packager
|
||||
|
||||
- _vendor: string (default: supplied by rpmbuild)
|
||||
Name of the vendor
|
||||
|
||||
- cflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
|
||||
CFLAGS value to use
|
||||
|
||||
- cxxflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
|
||||
CXXFLAGS value to use
|
||||
|
||||
- f77flags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
|
||||
F77FLAGS value to use
|
||||
|
||||
- fcflags: string (default: supplied by rpmbuild: $RPM_OPT_FLAGS)
|
||||
F90FLAGS value to use
|
||||
|
||||
- mflags: string (default: "")
|
||||
Flags to pass to the "make" [default] target during %build
|
||||
|
||||
- mflags_install: string (default: "")
|
||||
Flags to pass to the "make install" target during %install
|
||||
|
||||
- build_all_in_one_rpm: 0 or 1 (default: 1)
|
||||
If 1 (the default), make a single RPM that contains all of the Open
|
||||
MPI software. If 0, build multiple sub-package RPMs to split up the
|
||||
Open MPI code into separate functional areas. See the spec file for
|
||||
the exact division and subpackage definitions.
|
||||
|
||||
- name: string (default "openmpi")
|
||||
If set, used as the name of the RPM (useful if you want to add a
|
||||
compiler name -- or some other qualifier -- to the RPM name).
|
||||
or SRPM directly. Many options can be passed to the building process
|
||||
via rpmbuild's --define option (there are older versions of rpmbuild
|
||||
that do not seem to handle --define'd values properly in all cases,
|
||||
but we generally don't care about those old versions of rpmbuild...).
|
||||
The available options are described in the comments in the beginning
|
||||
of the spec file in this directory.
|
||||
|
44
contrib/dist/linux/openmpi.spec
поставляемый
44
contrib/dist/linux/openmpi.spec
поставляемый
@ -32,6 +32,18 @@
|
||||
#
|
||||
# Configuration Options
|
||||
#
|
||||
# Options that can be passed in via rpmbuild's --define option. Note
|
||||
# that --define takes *1* argument: a multi-token string where the first
|
||||
# token is the name of the variable to define, and all remaining tokens
|
||||
# are the value. For example:
|
||||
#
|
||||
# shell$ rpmbuild ... --define 'ofed 1' ...
|
||||
#
|
||||
# Or (a multi-token example):
|
||||
#
|
||||
# shell$ rpmbuild ... \
|
||||
# --define 'configure_options CFLAGS=-g --with-openib=/usr/local/ofed' ...
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
# Help for OSCAR RPMs
|
||||
@ -108,6 +120,18 @@
|
||||
# type: bool (0/1)
|
||||
%{!?munge_build_into_install: %define munge_build_into_install 0}
|
||||
|
||||
# By default, RPM supplies a bunch of optimization flags, some of
|
||||
# which may not work with non-gcc compilers. We attempt to weed some
|
||||
# of these out (below), but sometimes it's better to just ignore them
|
||||
# altogether (e.g., PGI 6.2 will warn about unknown compiler flags,
|
||||
# but PGI 7.0 will error -- and RPM_OPT_FLAGS contains a lot of flags
|
||||
# that PGI 7.0 does not understand). The default is to use the flags,
|
||||
# but you can set this variable to 0, indicating that RPM_OPT_FLAGS
|
||||
# should be erased (in which case you probabl want to supply your own
|
||||
# optimization flags!).
|
||||
# type: bool (0/1)
|
||||
%{!?use_default_rpm_opt_flags: %define use_default_rpm_opt_flags 1}
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# OSCAR-specific defaults
|
||||
@ -176,6 +200,9 @@
|
||||
|
||||
%{!?configure_options: %define configure_options %{nil}}
|
||||
|
||||
%if !%{use_default_rpm_opt_flags}
|
||||
%define optflags ""
|
||||
%endif
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
@ -315,7 +342,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
# --define on the rpmbuild command line, unless they find and override
|
||||
# all "global" CFLAGS kinds of RPM macros (every distro names them
|
||||
# differently). For example, non-gcc compilers cannot use
|
||||
# FORTIFY_SOURCE (at least, not as of 6 Oct 2006).
|
||||
# FORTIFY_SOURCE (at least, not as of 6 Oct 2006). We can really only
|
||||
# examine the basename of the compiler, so search for it in a few
|
||||
# places.
|
||||
|
||||
using_gcc=1
|
||||
if test "$CC" != ""; then
|
||||
@ -349,10 +378,16 @@ if test "$using_gcc" = "1"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# If we're not using the default RPM_OPT_FLAGS, then wipe them clean
|
||||
# (the "optflags" macro has already been wiped clean, above).
|
||||
|
||||
%if !%{use_default_rpm_opt_flags}
|
||||
RPM_OPT_FLAGS=
|
||||
export RPM_OPT_FLAGS
|
||||
%endif
|
||||
|
||||
# If we're not GCC, strip out any GCC-specific arguments in the
|
||||
# RPM_OPT_FLAGS before potentially propagating them everywhere. We
|
||||
# can really only examine the basename of the compiler, so search for
|
||||
# it in a few places.
|
||||
# RPM_OPT_FLAGS before potentially propagating them everywhere.
|
||||
|
||||
if test "$using_gcc" = 0; then
|
||||
|
||||
@ -371,6 +406,7 @@ CXXFLAGS="%{?cxxflags:%{cxxflags}}%{!?cxxflags:$RPM_OPT_FLAGS}"
|
||||
FFLAGS="%{?f77flags:%{f77flags}}%{!?f7flags:$RPM_OPT_FLAGS}"
|
||||
FCFLAGS="%{?fcflags:%{fcflags}}%{!?fcflags:$RPM_OPT_FLAGS}"
|
||||
export CFLAGS CXXFLAGS F77FLAGS FCFLAGS
|
||||
echo ================================ DONE DONE DONE
|
||||
|
||||
%configure %{configure_options}
|
||||
%{__make} %{?mflags}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user