diff options
author | gstein <gstein@13f79535-47bb-0310-9956-ffa450edef68> | 2004-02-21 00:31:49 +0000 |
---|---|---|
committer | gstein <gstein@13f79535-47bb-0310-9956-ffa450edef68> | 2004-02-21 00:31:49 +0000 |
commit | c6fb54d21a1ce858ffbe4d5178c14d3d1fc54027 (patch) | |
tree | bc2ad48cfdf9e57b3351621c63a22f2cf80283a7 /build.conf | |
parent | c10c4b433805ab3b694674facfd36a0aee04992d (diff) | |
download | libapr-c6fb54d21a1ce858ffbe4d5178c14d3d1fc54027.tar.gz |
Fix the generation of the build-outputs.mk file. That file must remain
platform independent since it gets included with the tarball, and the
tarball is targeted for all platforms.
In this new scheme, the build-outputs.mk includes symbols named
OBJECTS_<plat> which specifies the necessary object files for each platform.
The apr_rules.mk(.in) file then pulls in the right symbol for the configured
platform. Since apr-util directly uses apr_rules.mk, then it picks up the
same logic with no change.
The build.conf was altered to include a set of platform-independent files,
and subdirectories which contain per-platform subdirectories. This was
needed to help out the logic which selects object files based on whether a
platform is present in each source subdir. (and if a platform subdir is not
present, then "parent" gets used instead; e.g. use 'unix' if 'beos' is not
in the subdir)
Lastly, configure.in was updated to select the appropriate set of objects
for the build.
* build.conf:
(paths): remove per-platform symbols
(platform_dirs): new option to list the dirs which have platform subdirs
* configure.in:
- define and substitute OBJECTS_PLATFORM to reference the platform
specific set of objects, which get defined in build-outputs.mk
* build/apr_rules.mk.in:
- define OBJECTS in terms of the substituted OBJECTS_PLATFORM symbol
* build/gen-build.py:
(PLATFORMS): the various platforms found in APR. unused, actually.
(MAKE_PLATFORMS): the platforms which use a Makefile, and what default
platform should be used if SUBDIR/<platform> is not present.
(main): update logic to generate multiple OBJECTS_* symbols. this now
includes logic to deal with subdirs which may not have a platform subdir
for the platform in question, thus needing to default to another.
(write_objects): some code factored out of main() to process a list of
source files into dependencies lines in the makefile.
(get_files): no more need to substitute for {platform}, and simplified
some of the .split() stuff.
(get_platform): no longer required. we generate for all platforms.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64914 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build.conf')
-rw-r--r-- | build.conf | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/build.conf b/build.conf index 8d9c84181..0522a1bb7 100644 --- a/build.conf +++ b/build.conf @@ -4,26 +4,19 @@ [options] +# paths to platform-independent .c files to build paths = - atomic/{platform}/*.c - dso/{platform}/*.c - file_io/{platform}/*.c - locks/{platform}/*.c - memory/{platform}/*.c - misc/{platform}/*.c - mmap/{platform}/*.c - network_io/{platform}/*.c passwd/*.c - poll/{platform}/*.c - random/{platform}/*.c - shmem/{platform}/*.c strings/*.c - support/{platform}/*.c tables/*.c - threadproc/{platform}/*.c - time/{platform}/*.c - user/{platform}/*.c +# directories that have platform-specific code in them. the resulting +# pattern will be: SUBDIR/PLATFORM/*.c +platform_dirs = + atomic dso file_io locks memory misc mmap network_io poll random + shmem support threadproc time user + +# all the public headers headers = include/*.h # aplibtool is manually built by the configure process |