Lines Matching refs:file
24 The @file{string} subdirectory has all the string-manipulation
25 functions, @file{math} has all the mathematical functions, etc.
27 Each subdirectory contains a simple makefile, called @file{Makefile},
29 makefile @file{Rules} with a line like:
40 The name of the subdirectory, for example @file{stdio}.
45 such as @file{stdio.h}.
51 complete file names, such as @file{strlen.c}). Use @code{routines} for
59 should be simple names, such as @samp{tester} (rather than complete file
60 names, such as @file{tester.c}). @w{@samp{make tests}} will build and
62 data in a file called @file{@var{test-program}.input}; it will be given to
64 run with arguments, put the arguments (all on a single line) in a file
65 called @file{@var{test-program}.args}. Test programs should exit with
80 @samp{libdir} in @file{configparms} or @file{Makeconfig}
83 @file{configparms} or @file{Makeconfig}. Files listed in @code{install}
85 @file{configparms} or @file{Makeconfig}.
89 distribution tar file. You need not list here the makefile itself or
95 Files which are generated by @file{Makefile} in this subdirectory.
100 Extra object files which are built by @file{Makefile} in this
101 subdirectory. This should be a list of file names like @file{foo.o};
128 If the header file provides features that only make sense on a particular
131 then, @theglibc{} may provide them in the header file. When the GCC built-in
132 functions become available, those provided in the header file should be made
137 If the header file provides features that are specific to an operating system,
142 If the header file provides features that are specific to an operating system
151 A nonstandard, low-level header file that defines macros and inline
152 functions should be called @file{sys/platform/@var{name}.h}.
155 Each header file's name should include the platform name, to avoid
158 @file{sys/platform/@var{arch}.h} name such as
159 @file{sys/platform/ppc.h} is better than @file{sys/platform.h}.
162 A platform-specific header file provided by @theglibc{} should coordinate
165 include @file{sys/platform/@var{arch}.h}, keeping the same names of types,
174 The easiest way to provide a header file is to add it to the
182 Then ensure that you have added a @file{sys/platform/ppc.h}
183 header file in the machine-specific directory, e.g.,
184 @file{sysdeps/powerpc/sys/platform/ppc.h}.
259 Function @code{localtime} is declared in @file{time/time.h} as
322 library are in the subdirectory @file{sysdeps} under the top-level
326 Each subdirectory of @file{sysdeps} contains source files for a
332 specifying the list @file{unix/bsd/vax} is equivalent to specifying the
333 list @file{unix/bsd/vax unix/bsd unix}. A subdirectory can also specify
335 the directory hierarchy. If the file @file{Implies} exists in a
336 subdirectory, it lists other subdirectories of @file{sysdeps} which are
338 @file{Implies} file. Lines in an @file{Implies} file that begin with a
340 @file{unix/bsd/Implies} contains:
346 and @file{unix/Implies} contains:
353 So the final list is @file{unix/bsd/vax unix/bsd unix/inet unix posix}.
355 @file{sysdeps} has a ``special'' subdirectory called @file{generic}. It
357 needn't put it in an @file{Implies} file, and you should not create any
359 @file{generic} serves two purposes. First, the makefiles do not bother
360 to look for a system-dependent version of a file that's not in
361 @file{generic}. This means that any system-dependent source file must
362 have an analogue in @file{generic}, even if the routines defined by that
363 file are not implemented on other platforms. Second, the @file{generic}
364 version of a system-dependent file is used if the makefiles do not find
367 If it is possible to implement the routines in a @file{generic} file in
382 @file{generic} directory), only in the system-dependent @file{Makefile}
385 If you come across a file that is in one of the main source directories
386 (@file{string}, @file{stdio}, etc.), and you want to write a machine- or
387 operating system-dependent version of it, move the file into
388 @file{sysdeps/generic} and write your new implementation in the
389 appropriate system-specific subdirectory. Note that if a file is to be
394 @file{sysdeps}:
397 @table @file
401 operating system. This file is included by the library makefile
402 @file{Makerules}, which is used by the top-level makefile and the
425 This file contains the names of new whole subdirectories under the
428 subdirectories in the library source tree, such as @file{stdio} and
429 @file{math}.
433 of @file{sysdeps} implements. For example,
434 @file{sysdeps/unix/inet/Subdirs} contains @file{inet}; the @file{inet}
440 This file is a shell script fragment to be run at configuration time.
441 The top-level @file{configure} script uses the shell @code{.} command to
442 read the @file{configure} file in each system-dependent directory
443 chosen, in order. The @file{configure} files are often generated from
444 @file{configure.ac} files using Autoconf.
446 A system-dependent @file{configure} script will usually add things to
448 top-level @file{configure} script for details. The script can check for
450 top-level @file{configure}. For an option
451 @w{@samp{--with-@var{package}=@var{value}}} @file{configure} sets the
459 This file is an Autoconf input fragment to be processed into the file
460 @file{configure} in this subdirectory. @xref{Introduction,,,
462 for a description of Autoconf. You should write either @file{configure}
463 or @file{configure.ac}, but not both. The first line of
464 @file{configure.ac} should invoke the @code{m4} macro
466 for Autoconf macros which are used by the top-level @file{configure}
474 @file{sysdeps} to use. @ref{Porting to Unix}, has some tips on porting
479 * Hierarchy Conventions:: The layout of the @file{sysdeps} hierarchy.
485 @appendixsubsec Layout of the @file{sysdeps} Directory Hierarchy
488 manufacturer's name, and the operating system. @file{configure} uses
490 the @samp{--nfp} option is @emph{not} passed to @file{configure}, the
491 directory @file{@var{machine}/fpu} is also used. The operating system
495 @file{configure} makes a list of the base operating system,
499 results in @file{unix/sysv/linux/i386/i686}. @file{configure} then
501 @file{unix/sysv/linux} and @file{unix/sysv} are also tried, among others.
504 identical @file{irix6.2} and @file{irix6.3} directories,
505 @file{configure} tries successively less specific operating system names
538 top level of the @file{sysdeps} directory tree. For example,
539 @w{@file{sysdeps/sparc}} and @w{@file{sysdeps/m68k}}. These contain
543 @w{@file{sysdeps/m68k/68020}}. Code which is specific to the
545 @w{@file{sysdeps/@var{machine}/fpu}}.
547 There are a few directories at the top level of the @file{sysdeps}
550 @table @file
559 directory is referred to in the @file{Implies} file in a machine
560 architecture-specific directory, such as @file{m68k/Implies}.
569 @file{sysdeps/i386/fpu} but for various reasons it is kept aside.
576 @file{posix} cannot be complete.
580 @file{unix} implies @file{posix}. There are some special-purpose
581 subdirectories of @file{unix}:
583 @table @file
586 Both @file{unix/bsd} and @file{unix/sysv/sysv4} imply @file{unix/common}.
590 @file{unix/inet/Subdirs} enables the @file{inet} top-level subdirectory.
591 @file{unix/common} implies @file{unix/inet}.
598 the @file{sysdeps} hierarchy, parallel to @file{unix} and @file{mach}.
609 The code for Unix systems is in the directory @file{unix}, at the top
610 level of the @file{sysdeps} hierarchy. This directory contains
615 specifications in files named @file{syscalls.list}. There are several
616 such files, one in @file{sysdeps/unix} and others in its subdirectories.
618 suffix of @samp{.S}; for example, @file{_exit.S}. Files ending in
623 @file{sysdep.h}. The @file{sysdep.h} file in @file{sysdeps/unix}
624 partially defines them; a @file{sysdep.h} file in another directory must
626 variant. See @file{sysdeps/unix/sysdep.h} and the machine-specific
627 @file{sysdep.h} implementations to see what these macros are and what
630 The system-specific makefile for the @file{unix} directory
631 (@file{sysdeps/unix/Makefile}) gives rules to generate several files
636 generated are @file{ioctls.h}, @file{errnos.h}, @file{sys/param.h}, and
637 @file{errlist.c} (for the @file{stdio} section of the library).