> On Aug. 4, 2015, 5:38 p.m., Ben Mahler wrote: > > 3rdparty/libprocess/3rdparty/stout/include/stout/os/os.hpp, lines 22-50 > > <https://reviews.apache.org/r/36783/diff/4/?file=1024905#file1024905line22> > > > > Why do we have both os.hpp and os/os.hpp? Seems strange to put only the > > structs here, why arent't the structs placed in the same header as the > > functions that return them..?
Ideally, `os.hpp` would just be split up into `os.hpp`, `posix/os.hpp`, and `windows/os.hpp`. `os.hpp` would include the `posix`/`windows` versions. We need the extra `os/os.hpp` because these structs are used in `os.hpp` and `posix/os.hpp`, so the inclusion order matters. We effectively need `os.hpp` to do: ``` #include <existing stuff> // i.e. #include <stout/os/os.hpp> struct foo { ... }; #include <stout/posix/os.hpp> ``` - Joseph ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/36783/#review94159 ----------------------------------------------------------- On July 29, 2015, 4:24 p.m., Joseph Wu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/36783/ > ----------------------------------------------------------- > > (Updated July 29, 2015, 4:24 p.m.) > > > Review request for mesos, Benjamin Hindman, Artem Harutyunyan, Alex Clemmer, > and Joris Van Remoortere. > > > Bugs: MESOS-3102 > https://issues.apache.org/jira/browse/MESOS-3102 > > > Repository: mesos > > > Description > ------- > > MESOS-3102: Stout library header splitting, to support the Windows > Containerizer. > Splits apart os.hpp only. > > See the prior review in the chain for the pattern. > > > Diffs > ----- > > 3rdparty/libprocess/3rdparty/stout/include/Makefile.am > 5c19e3ef8ba50ab007eda26b752441f076ca7ed0 > 3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp > 818560f8ce20126e0aa4af6ce368c973c9616c74 > 3rdparty/libprocess/3rdparty/stout/include/stout/os/os.hpp PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/posix/os.hpp PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/windows/os.hpp > PRE-CREATION > 3rdparty/libprocess/3rdparty/stout/include/stout/windows/preprocessor.hpp > PRE-CREATION > > Diff: https://reviews.apache.org/r/36783/diff/ > > > Testing > ------- > > `make` and `make check` (Mac OSX). > > Build with MSVC Enterprise 2015 [thanks to Alex (hausdorff)]. > > > Thanks, > > Joseph Wu > >