New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 623156 link

Starred by 2 users

Issue metadata

Status: Archived
Owner: ----
Closed: Sep 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
cwp



Sign in to add a comment

quipper's external build needs Thread and Notification classes

Project Member Reported by dhsharp@chromium.org, Jun 24 2016

Issue description

Makefile.external won't work until compat Thread and Notification classes are provided for it.

Some possibilities:

- Force Makefile.external users to depend on libchrome, and use compat/cros/detail. Con: forcing a dependency on external users.

- Provide a compat/c++11/detail that uses std::thread to implement Thread, and std::condition_variable & mutex to implement a Notification. Con: std::thread/etc are banned by the style guide. otoh, this code would not be used by quipper when built for CrOS.

- The Thread and Notification classes only ended up being used in unit tests. Split those tests out (these tests also require running as root to be useful), and don't build them in Makefile.external.

I currently lean towards using std::thread.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 28 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/af0998f00264dabe608f6462b61062b3ae3875da

commit af0998f00264dabe608f6462b61062b3ae3875da
Author: David Sharp <dhsharp@chromium.org>
Date: Fri Jun 24 19:13:49 2016

quipper: disable testing build with Makefile.external

The external build is going to be broken for a while until a better
solution for external users is found.

TEST=builds
BUG= chromium:623156 

Change-Id: I8e689caabb5d490adcf5e0797b0492f8e9527eef
Reviewed-on: https://chromium-review.googlesource.com/356181
Commit-Ready: David Sharp <dhsharp@chromium.org>
Tested-by: David Sharp <dhsharp@chromium.org>
Reviewed-by: Chong Jiang <chongjiang@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/af0998f00264dabe608f6462b61062b3ae3875da/chromeos-base/quipper/quipper-9999.ebuild

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/57d96c7731f9cb7473edbc0979cb4ebb22e9e802

commit 57d96c7731f9cb7473edbc0979cb4ebb22e9e802
Author: Wade Khadder <wgk@google.com>
Date: Thu Aug 04 21:38:36 2016

quipper: Changes to build with external makefile

Previously, the external makefile was left behind and no longer updated
during the work to add ARC++ support to quipper. Now we bring it up to date
so it can be built externally again.

- Get rid of dependency on StringPrintf
- Add compat/ext for external build
- Implement Thread and Notification using C++ standard library classes
- Update log_level path in Makefile
- Link in libelf
- Explicitly include unistd.h in dso.cc
- Include new sources in makefile

BUG= chromium:623156 
TEST=build successfully with Makefile.external

Change-Id: I815d18ba3a046cc758265985246a916c9bf7ae8b
Reviewed-on: https://chromium-review.googlesource.com/366470
Commit-Ready: Simon Que <sque@chromium.org>
Tested-by: Chong Jiang <chongjiang@chromium.org>
Reviewed-by: Chong Jiang <chongjiang@chromium.org>

[add] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/ext/detail/thread.h
[modify] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/perf_parser.cc
[add] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/ext/detail/proto.h
[modify] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/Makefile.external
[modify] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/dso_test_utils.cc
[add] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/ext/detail/string.h
[modify] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/dso.cc
[add] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/ext/detail/log_level.cc
[add] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/ext/detail/test.h
[modify] https://crrev.com/57d96c7731f9cb7473edbc0979cb4ebb22e9e802/chromiumos-wide-profiling/compat/cros/detail/string.h

Comment 3 by sque@chromium.org, Sep 13 2016

Status: Fixed (was: Untriaged)

Comment 4 by dchan@chromium.org, Oct 7 2016

Labels: VerifyIn-55

Comment 5 by dchan@google.com, Nov 19 2016

Labels: VerifyIn-56

Comment 6 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 7 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 8 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 9 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 11 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment