aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-27 19:49:27 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-27 20:13:27 +0000
commite15546d2c1118e12506b48c8868e1f52cee44b8b (patch)
tree153048f74853c94b44bcb914cd5169953f134da2
parenta6ba18f1f027bca8277922c2c32a6843efd8300e (diff)
downloadpaludis-e15546d2c1118e12506b48c8868e1f52cee44b8b.tar.gz
paludis-e15546d2c1118e12506b48c8868e1f52cee44b8b.tar.xz
Use build_options: symbols for e
-rw-r--r--paludis/repositories/e/do_install_action.cc24
-rw-r--r--paludis/repositories/e/e_stripper.cc2
-rw-r--r--paludis/repositories/e/e_stripper.hh2
-rw-r--r--paludis/repositories/e/ebuild_id.cc7
4 files changed, 17 insertions, 18 deletions
diff --git a/paludis/repositories/e/do_install_action.cc b/paludis/repositories/e/do_install_action.cc
index 03aca30..f804ac0 100644
--- a/paludis/repositories/e/do_install_action.cc
+++ b/paludis/repositories/e/do_install_action.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -318,19 +318,19 @@ paludis::erepository::do_install_action(
Log::get_instance()->message("e.ebuild.libdir", ll_debug, lc_context) << "Using '" << libdir << "' for libdir";
- std::shared_ptr<const ChoiceValue> strip_choice(id->choices_key()->value()->find_by_name_with_prefix(
- ELikeStripChoiceValue::canonical_name_with_prefix()));
- std::shared_ptr<const ChoiceValue> split_choice(id->choices_key()->value()->find_by_name_with_prefix(
- ELikeSplitChoiceValue::canonical_name_with_prefix()));
+ std::shared_ptr<const ChoiceValue> symbols_choice(id->choices_key()->value()->find_by_name_with_prefix(
+ ELikeSymbolsChoiceValue::canonical_name_with_prefix()));
EStripper stripper(make_named_values<EStripperOptions>(
- n::debug_dir() = package_builddir / "image" / "usr" / libdir / "debug",
- n::image_dir() = package_builddir / "image",
- n::output_manager() = output_manager,
- n::package_id() = id,
- n::split() = split_choice && split_choice->enabled(),
- n::strip() = strip_choice && strip_choice->enabled()
- ));
+ n::compress_splits() = symbols_choice && symbols_choice->enabled() && ELikeSymbolsChoiceValue::should_compress(
+ symbols_choice->parameter()),
+ n::debug_dir() = package_builddir / "image" / "usr" / libdir / "debug",
+ n::image_dir() = package_builddir / "image",
+ n::output_manager() = output_manager,
+ n::package_id() = id,
+ n::split() = symbols_choice && symbols_choice->enabled() && ELikeSymbolsChoiceValue::should_split(symbols_choice->parameter()),
+ n::strip() = symbols_choice && symbols_choice->enabled() && ELikeSymbolsChoiceValue::should_strip(symbols_choice->parameter())
+ ));
stripper.strip();
}
}
diff --git a/paludis/repositories/e/e_stripper.cc b/paludis/repositories/e/e_stripper.cc
index 8d4324b..185cb16 100644
--- a/paludis/repositories/e/e_stripper.cc
+++ b/paludis/repositories/e/e_stripper.cc
@@ -42,7 +42,7 @@ namespace paludis
EStripper::EStripper(const EStripperOptions & options) :
Stripper(make_named_values<StripperOptions>(
- n::compress_splits() = false,
+ n::compress_splits() = options.compress_splits(),
n::debug_dir() = options.debug_dir(),
n::image_dir() = options.image_dir(),
n::split() = options.split(),
diff --git a/paludis/repositories/e/e_stripper.hh b/paludis/repositories/e/e_stripper.hh
index d0c4fb5..e9f1121 100644
--- a/paludis/repositories/e/e_stripper.hh
+++ b/paludis/repositories/e/e_stripper.hh
@@ -29,6 +29,7 @@ namespace paludis
{
namespace n
{
+ typedef Name<struct name_compress_splits> compress_splits;
typedef Name<struct name_debug_dir> debug_dir;
typedef Name<struct name_image_dir> image_dir;
typedef Name<struct name_output_manager> output_manager;
@@ -41,6 +42,7 @@ namespace paludis
{
struct EStripperOptions
{
+ NamedValue<n::compress_splits, bool> compress_splits;
NamedValue<n::debug_dir, FSPath> debug_dir;
NamedValue<n::image_dir, FSPath> image_dir;
NamedValue<n::output_manager, std::shared_ptr<OutputManager> > output_manager;
diff --git a/paludis/repositories/e/ebuild_id.cc b/paludis/repositories/e/ebuild_id.cc
index 0b3a030..36a9139 100644
--- a/paludis/repositories/e/ebuild_id.cc
+++ b/paludis/repositories/e/ebuild_id.cc
@@ -1579,12 +1579,9 @@ EbuildID::add_build_options(const std::shared_ptr<Choices> & choices) const
build_options->add(std::make_shared<ELikeExpensiveTestsChoiceValue>(shared_from_this(), _imp->environment, build_options, false));
}
- /* split, strip */
+ /* symbols */
if (may_be_unrestricted_strip)
- {
- build_options->add(std::make_shared<ELikeSplitChoiceValue>(shared_from_this(), _imp->environment, build_options, indeterminate));
- build_options->add(std::make_shared<ELikeStripChoiceValue>(shared_from_this(), _imp->environment, build_options, indeterminate));
- }
+ build_options->add(std::make_shared<ELikeSymbolsChoiceValue>(shared_from_this(), _imp->environment, build_options, last_escvp));
/* jobs */
if (! eapi()->supported()->ebuild_environment_variables()->env_jobs().empty())