VFS source relationships

From Second Life Wiki
Revision as of 22:43, 17 January 2007 by Scalar Tardis (talk | contribs) (Partial save of page -- not finished by far)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is an attempt to walk through the source tree and document the relationships of each source file with its includes.

Some common elements have deep and repetitive structures that make it difficult to see the overarching major components. These common elements that repeat frequently are shown separately at the end of this page.


llvfs.cpp:

   <stdio.h>
   <sys/stat.h>
   <time.h>
   <set>
   <map>
   <share.h> (if windows)
   <sys/file.h (if not windows)
   llvfs.h:
       <stdio>
       <map>
       <deque>
       lluuid.h:
           llstring.h: (see reference)
       linked_lists.h
           llerror.h: (see reference)
       llassettype.h:
           stdenums.h
       llthread.h: (see reference)
   llstl.h: 
       <functional>
       <algorithm>
       <map>
       <vector>
       <set>
       <deque>
       <stdio.h>
       <stdarg.h>

llvfsthread.cpp:

 linden_common.h (see reference)
 llmath.h:
   <cmath>
   <math.h>
   <stdlib.h>
   lldefs.h:
     stdtypes.h:
       <limits.h>
       <float.h>
 llvfsthread.h:
   llapr.h (see reference)
   llqueuedthread.h
     <queue>
     <string>
     <map>
     <set>
     llapr.h: (see reference)
     llthread.h: (see reference)
     llsimplehash.h:
       llstl.h:
         <functional>
         <algorithm>
         <map>
         <vector>
         <set>
         <deque>
         <stdio.h>
         <stdarg.h>
   llvfs.h:
     <stdio.h>
     <map>
     <deque>
     lluuid.h:
       llstring.h (see reference)
     linked_lists.h:
       llerror.h (see reference)
     llassettype.h:
       stdenums.h
     llthread.h: (see reference)
 llstl.h 
   <functional>
   <algorithm>
   <map>
   <vector>
   <set>
   <deque>
   <stdio.h>
   <stdarg.h>


Common source elements

linden_common.h: -- Includes common headers that are always safe to include

   llpreprocessor.h:
       <endian.h> (if linux)
   <string.h>
   <math.h>
   <stdio.h>
   <stdlib.h>
   <iostream>
   <fstream>
   <vector>
   <string>
   llfile.h:
       <string>
       <stdio.h>
       <sys/stat.h>
       <fstream>
       stdtypes.h:
           <limits.h>
           <float.h>
   stdtypes.h:
       <limits.h>
       <float.h>
   lldefs.h:
       stdtypes.h:
           <limits.h>
           <float.h>
   llerror.h (common ref below)
   llstring.h (common ref below)
   lltimer.h:
       <time.h> (if darwin)
       <sys/time.h> (if darwin)
       <list>
   llfasttimer.h:
       lltimer.h:
           <time.h> (if darwin)
           <sys/time.h> (if darwin)
           <list>
   llsys.h:
       <iosfwd>
       <string>

llapr.h -- Apache Portable Runtime

   <sys/param.h> (if linux)
   boost/noncopyable.hpp
   apr-1/apr_thread_proc.h
   apr-1/apr_thread_mutex.h
   apr-1/apr_getopt.h
   apr-1/apr_signal.h
   apr-1/apr_atomic.h
   llstring.h (common ref below)

llerror.h: -- Constants, functions, and macros for logging and runtime errors

   <sstream>
   <stdio.h>
   <stdarg.h>
   llerrorstream.h:
       <iostream>
       llerrorbuffer.h:
           <fstream>
           <iostream>
           <string>
           lldefs.h:
               stdtypes.h:
                   <limits.h>
                   <float.h>
           stdtypes.h:
               <limits.h>
               <float.h>
           llfile.h:
               <string>
               <stdio.h>
               <sys/stat.h>
               <fstream>
               stdtypes.h:
                   <limits.h>
                   <float.h>
       stdtypes.h:
           <limits.h>
           <float.h>
   llerrorbuffer.h:
       <fstream>
       <iostream>
       <string>
       lldefs.h:
           stdtypes.h:
               <limits.h>
               <float.h>
       stdtypes.h
           <limits.h>
           <float.h>
       llfile.h:
           <string>
           <stdio.h>
           <sys/stat.h>
           <fstream>
           stdtypes.h:
               <limits.h>
               <float.h>

llstring.h -- String utility functions and LLString class

   stdtypes.h:
       <limits.h>
       <float.h>
   llerror.h: (see reference)
   <algorithm>
   <map>
   <stdio.h>
   <ctype.h>
   <stdlib.h>
   <errno.h>
   <math.h>
   <wctype.h> (if linux)
   <wchar.h> (if linux)

llthread.h -- Base classes for thread, mutex and condition handling

   llapr.h (see reference)
   apr-1/apr-thread-cond.h
   llapp.h:
       <map>
       llapr.h (see reference)
       llrun.h:
           <vector>
           <boost/shared_ptr.hpp>
       llsd.h:
           <map>
           <string>
           <vector>
           stdtypes.h:
               <limits.h>
               <float.h>
           lldate.h:
               <iosfwd>
               stdtypes.h:
                   <limits.h>
                   <float.h>
           lluri.h:
               <string>
           ../llmath/lluuid.h:
               <iostream>
               <set>
               llstring.h (see reference)