[sldev] [source] Purpose of /newview and libraries split?

Soft soft at lindenlab.com
Tue Jun 24 07:01:16 PDT 2008


On Tue, Jun 24, 2008 at 7:48 AM, Dale Mahalko <dmahalko at gmail.com> wrote:
> What is the reason for the dividing of some source files into the
> /newview directory? I see lots of functional duplication across
> /newview and the other directories, so it's highly unclear to me what
> the code division is meant to accomplish. For example, there are some
> sound-system files in /llaudio and some in /newview
>
> I realize that LL is also working on simulator and asset code we
> cannot see, and it seems possible that the code not inside /newview
> may be utilized by these other components. For example, I would assume
> there's a similar usage of the LLLFS and the APR in the simulator
> code, as there is in the client code. But there's no way for an
> "outsider" to know if that is true or not.
>
> Are open-source programmers able to freely modify any component of the
> libraries and /newview? Can modifying the source outside /newview
> cause unseen problems with server/asset code that may reuse those
> libraries?

Short answer: Ideally, more things should be split out of newview/ and
into their own libraries. This would speed builds and encourage more
modularity. A lot of larger components are in newview/ merely because
they started there when they were small, and componentizing them
hasn't ever stood out as someone's biggest itch so far. I have a
feeling this may change as we move to VS2005, as monolithic projects
interfere with the way it parallellizes builds.

You can certainly break server code by modifying some of the common
libs, but generally not if you're only modifying the implementation,
not the interface. If there's a specific change you're thinking of,
the best thing you can do is ask. Even if it does necessitate a server
change, if it's a good change for the viewer, odds are there will be a
benefit for the servers as well.


More information about the SLDev mailing list