|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| atomic/ | H | 25-Apr-2025 | - | 1,188 | 843 |
| build/ | H | 25-Apr-2025 | - | 33,274 | 27,588 |
| docs/ | H | 25-Apr-2025 | - | 888 | 726 |
| dso/ | H | 25-Apr-2025 | - | 1,615 | 1,134 |
| encoding/ | H | 25-Apr-2025 | - | 1,184 | 1,027 |
| file_io/ | H | 25-Apr-2025 | - | 11,259 | 7,917 |
| helpers/ | H | 25-Apr-2025 | - | 107 | 80 |
| include/ | H | 25-Apr-2025 | - | 21,628 | 9,283 |
| locks/ | H | 25-Apr-2025 | - | 4,062 | 2,908 |
| memory/unix/ | H | 25-Apr-2025 | - | 2,656 | 1,780 |
| misc/ | H | 25-Apr-2025 | - | 3,415 | 2,279 |
| mmap/ | H | 25-Apr-2025 | - | 379 | 249 |
| network_io/ | H | 25-Apr-2025 | - | 6,441 | 4,766 |
| passwd/ | H | 25-Apr-2025 | - | 257 | 172 |
| poll/ | H | 25-Apr-2025 | - | 4,122 | 3,141 |
| random/unix/ | H | 25-Apr-2025 | - | 966 | 625 |
| shmem/ | H | 25-Apr-2025 | - | 1,488 | 1,126 |
| strings/ | H | 25-Apr-2025 | - | 2,881 | 1,948 |
| support/unix/ | H | 25-Apr-2025 | - | 124 | 80 |
| tables/ | H | 25-Apr-2025 | - | 2,572 | 1,904 |
| test/ | H | 25-Apr-2025 | - | 20,706 | 15,380 |
| threadproc/ | H | 25-Apr-2025 | - | 6,406 | 4,758 |
| time/ | H | 25-Apr-2025 | - | 1,059 | 779 |
| tools/ | H | 25-Apr-2025 | - | 116 | 66 |
| user/ | H | 25-Apr-2025 | - | 730 | 530 |
| CHANGES | H A D | 25-Apr-2025 | 7.7 KiB | 201 | 138 |
| CMakeLists.txt | H A D | 25-Apr-2025 | 13 KiB | 428 | 386 |
| LICENSE | H A D | 25-Apr-2025 | 17.6 KiB | 342 | 282 |
| Makefile | H A D | 25-Apr-2025 | 5 KiB | 149 | 101 |
| Makefile.in | H A D | 25-Apr-2025 | 4.7 KiB | 149 | 102 |
| Makefile.win | H A D | 25-Apr-2025 | 4.8 KiB | 182 | 121 |
| NOTICE | H A D | 25-Apr-2025 | 527 | 16 | 11 |
| NWGNUmakefile | H A D | 25-Apr-2025 | 8.6 KiB | 434 | 370 |
| README | H A D | 25-Apr-2025 | 5.5 KiB | 168 | 120 |
| README.cmake | H A D | 25-Apr-2025 | 4.4 KiB | 113 | 87 |
| apr-1-config | H A D | 25-Apr-2025 | 6.9 KiB | 252 | 200 |
| apr-config.in | H A D | 25-Apr-2025 | 6.7 KiB | 252 | 200 |
| apr.dep | H A D | 25-Apr-2025 | 52.7 KiB | 1,917 | 1,750 |
| apr.dsp | H A D | 25-Apr-2025 | 21 KiB | 914 | 695 |
| apr.dsw | H A D | 25-Apr-2025 | 1.7 KiB | 102 | 71 |
| apr.mak | H A D | 25-Apr-2025 | 52.2 KiB | 1,981 | 1,581 |
| apr.pc | H A D | 25-Apr-2025 | 375 | 12 | 10 |
| apr.pc.in | H A D | 25-Apr-2025 | 313 | 12 | 10 |
| apr.spec | H A D | 25-Apr-2025 | 2.5 KiB | 101 | 76 |
| build-outputs.mk | H A D | 25-Apr-2025 | 65.4 KiB | 323 | 227 |
| build.conf | H A D | 25-Apr-2025 | 634 | 30 | 11 |
| buildconf | H A D | 25-Apr-2025 | 4.3 KiB | 135 | 65 |
| config.layout | H A D | 25-Apr-2025 | 7.2 KiB | 232 | 218 |
| config.log | H A D | 25-Apr-2025 | 545.1 KiB | 19,091 | 19,067 |
| config.nice | H A D | 25-Apr-2025 | 58 | 7 | 2 |
| config.status | H A D | 25-Apr-2025 | 66.3 KiB | 2,284 | 1,873 |
| configure | H A D | 25-Apr-2025 | 812 KiB | 30,879 | 24,526 |
| configure.in | H A D | 25-Apr-2025 | 80.3 KiB | 2,865 | 2,542 |
| emacs-mode | H A D | 25-Apr-2025 | 488 | 16 | 15 |
| libapr.dep | H A D | 25-Apr-2025 | 52.9 KiB | 1,921 | 1,753 |
| libapr.dsp | H A D | 25-Apr-2025 | 26 KiB | 963 | 745 |
| libapr.mak | H A D | 25-Apr-2025 | 58.9 KiB | 2,119 | 1,698 |
| libapr.rc | H A D | 25-Apr-2025 | 2 KiB | 65 | 60 |
| libtool | H A D | 25-Apr-2025 | 286.5 KiB | 10,081 | 7,433 |
README
1Apache Portable Runtime Library (APR)
2-------------------------------------
3
4 The Apache Portable Runtime Library provides a predictable and
5 consistent interface to underlying platform-specific
6 implementations, with an API to which software developers may code
7 and be assured of predictable if not identical behavior regardless
8 of the platform on which their software is built, relieving them of
9 the need to code special-case conditions to work around or take
10 advantage of platform-specific deficiencies or features.
11
12 APR and its companion libraries are implemented entirely in C
13 and provide a common programming interface across a wide variety
14 of operating system platforms without sacrificing performance.
15 Currently supported platforms include:
16
17 UNIX variants
18 Windows
19 Netware
20 Mac OS X
21 OS/2
22
23 To give a brief overview, the primary core
24 subsystems of APR 1.3 include the following:
25
26 Atomic operations
27 Dynamic Shared Object loading
28 File I/O
29 Locks (mutexes, condition variables, etc)
30 Memory management (high performance allocators)
31 Memory-mapped files
32 Multicast Sockets
33 Network I/O
34 Shared memory
35 Thread and Process management
36 Various data structures (tables, hashes, priority queues, etc)
37
38 For a more complete list, please refer to the following URLs:
39
40 http://apr.apache.org/docs/apr/modules.html
41
42 Users of APR 0.9 should be aware that migrating to the APR 1.x
43 programming interfaces may require some adjustments; APR 1.x is
44 neither source nor binary compatible with earlier APR 0.9 releases.
45 Users of APR 1.x can expect consistent interfaces and binary backwards
46 compatibility throughout the entire APR 1.x release cycle, as defined
47 in our versioning rules:
48
49 http://apr.apache.org/versioning.html
50
51 APR is already used extensively by the Apache HTTP Server
52 version 2 and the Subversion revision control system, to
53 name but a few. We list all known projects using APR at
54 http://apr.apache.org/projects.html -- so please let us know
55 if you find our libraries useful in your own projects!
56
57
58Using a Subversion Checkout on Unix
59===================================
60
61If you are building APR from SVN, you need to perform a prerequisite
62step. You must have autoconf, libtool and python installed for this
63to work. The prerequisite is simply;
64
65 ./buildconf
66
67If you are building APR from a distribution tarball, buildconf is
68already run for you, and you do not need autoconf, libtool or python
69installed or to run buildconf unless you have patched APR's buildconf
70inputs (such as configure.in, build.conf, virtually any file within
71the build/ tree, or you add or remove source files).
72
73Remember when updating from svn that you must rerun ./buildconf again
74to effect any changes made to the build schema in your fresh update.
75
76
77Configuring and Building APR on Unix
78====================================
79
80Simply;
81
82 ./configure --prefix=/desired/path/of/apr
83 make
84 make test
85 make install
86
87Configure has additional options, ./configure --help will offer you
88those choices. You may also add CC=compiler CFLAGS="compiler flags"
89etc. prior to the ./configure statement (on the same line). Please
90be warned, some flags must be passed as part of the CC command,
91itself, in order for autoconf to make the right determinations. Eg.;
92
93 CC="gcc -m64" ./configure --prefix=/desired/path/of/apr
94
95will inform APR that you are compiling to a 64 bit CPU, and autoconf
96must consider that when setting up all of APR's internal and external
97type declarations.
98
99For more verbose output from testall, you may wish to invoke testall
100with the flag;
101
102 cd test
103 ./testall -v
104
105
106Building APR RPM files on Linux
107===============================
108
109Run the following to create SRPMs:
110
111rpmbuild -ts apr-<version>.tar.bz2
112rpmbuild -ts apr-util-<version>.tar.bz2
113
114Run the following to create RPMs (or build from the SRPMs):
115
116rpmbuild -tb apr-<version>.tar.bz2
117rpmbuild -tb apr-util-<version>.tar.bz2
118
119Resolve dependencies as appropriate.
120
121
122Configuring and Building APR on Windows
123=======================================
124
125Using Visual Studio, you can build and run the test validation of APR.
126The Makefile.win make file has a bunch of documentation about it's
127options, but a trivial build is simply;
128
129 nmake -f Makefile.win
130 nmake -f Makefile.win PREFIX=c:\desired\path\of\apr install
131
132Note you must manually modify the include\apr.hw file before you
133build to change default options, see the #define APR_HAS_... or the
134#define APR_HAVE_... statements. Be careful, many of these aren't
135appropriate to be modified. The most common change is
136
137#define APR_HAVE_IPV6 1
138
139rather than 0 if this build of APR will be used strictly on machines
140with the IPv6 adapter support installed.
141
142It's trivial to include the apr.dsp (for a static library) or the
143libapr.dsp (for a dynamic library) in your own build project, or you
144can load apr.dsw in Visual Studio 2002 (.NET) or later, which will
145convert these for you into apr.sln and associated .vcproj files.
146
147When using APR as a dynamic library, nothing special is required,
148simply link to libapr.lib. To use it as a static library, simply
149define APR_DECLARE_STATIC before you include any apr header files
150in your source, and link to apr.lib instead.
151
152
153Generating Test Coverage information with gcc
154=============================================
155
156If you want to generate test coverage data, use the following steps:
157
158 ./buildconf
159 CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
160 make
161 cd test
162 make
163 ./testall
164 cd ..
165 make gcov
166
167
168
README.cmake
1Experimental cmake-based build support for APR on Microsoft Windows
2
3Status
4------
5
6This build support is currently intended only for Microsoft Windows.
7Only Windows NT-based systems can be targeted. (The traditional
8Windows build support for APR can target Windows 9x as well.)
9
10This build support is experimental. Specifically,
11
12* It does not support all features of APR.
13* Some components may not be built correctly and/or in a manner
14 compatible with the previous Windows build support.
15* Build interfaces, such as the mechanisms which are used to enable
16 optional functionality or specify prerequisites, may change from
17 release to release as feedback is received from users and bugs and
18 limitations are resolved.
19
20Important: Refer to the "Known Bugs and Limitations" section for further
21 information.
22
23 It is beyond the scope of this document to document or explain
24 how to utilize the various cmake features, such as different
25 build backends or provisions for finding support libraries.
26
27 Please refer to the cmake documentation for additional information
28 that applies to building any project with cmake.
29
30Prerequisites
31-------------
32
33The following tools must be in PATH:
34
35* cmake, version 2.8 or later
36* If using a command-line compiler: compiler and linker and related tools
37 (Refer to the cmake documentation for more information.)
38
39How to build
40------------
41
421. cd to a clean directory for building (i.e., don't build in your
43 source tree)
44
452. Some cmake backends may want your compile tools in PATH. (Hint: "Visual
46 Studio Command Prompt")
47
483. cmake -G "some backend, like 'NMake Makefiles'"
49 -DCMAKE_INSTALL_PREFIX=d:/path/to/aprinst
50 -DAPR-specific-flags
51 d:/path/to/aprsource
52
53 Alternately, use cmake-gui and update settings in the GUI.
54
55 APR feature flags:
56
57 APR_INSTALL_PRIVATE_H Install extra .h files which are required when
58 building httpd and Subversion but which aren't
59 intended for use by applications.
60 Default: OFF
61 APR_HAVE_IPV6 Enable IPv6 support
62 Default: ON
63 APR_BUILD_TESTAPR Build APR test suite
64 Default: OFF
65 TEST_STATIC_LIBS Build the test suite to test the APR static
66 library instead of the APR dynamic library.
67 Default: OFF
68 In order to build the test suite against both
69 static and dynamic libraries, separate builds
70 will be required, one with TEST_STATIC_LIBS
71 set to ON.
72 MIN_WINDOWS_VER Minimum Windows version supported by this build
73 (This controls the setting of _WIN32_WINNT.)
74 "Vista" or "Windows7" or a numeric value like
75 "0x0601"
76 Default: "Vista"
77 For desktop/server equivalence or other values,
78 refer to
79 http://msdn.microsoft.com/en-us/library/windows/
80 desktop/aa383745(v=vs.85).aspx
81 INSTALL_PDB Install .pdb files if generated.
82 Default: ON
83
84 CMAKE_C_FLAGS_RELEASE, _DEBUG, _RELWITHDEBINFO, _MINSIZEREL
85
86 CMAKE_BUILD_TYPE
87
88 For NMake Makefiles the choices are at least DEBUG, RELEASE,
89 RELWITHDEBINFO, and MINSIZEREL
90 Other backends make have other selections.
91
924. build using chosen backend (e.g., "nmake install")
93
94Known Bugs and Limitations
95--------------------------
96
97* If include/apr.h or other generated files have been created in the source
98 directory by another build system, they will be used unexpectedly and
99 cause the build to fail.
100* Options should be provided for remaining features:
101 + APR_POOL_DEBUG
102* APR-CHANGES.txt, APR-LICENSE.txt, and APR-NOTICE.txt are not installed,
103 though perhaps that is a job for a higher-level script.
104
105Generally:
106
107* Many APR features have not been tested with this build.
108* Developers need to examine the existing Windows build in great detail and see
109 what is missing from the cmake-based build, whether a feature or some build
110 nuance.
111* Any feedback you can provide on your experiences with this build will be
112 helpful.
113