summaryrefslogtreecommitdiff
path: root/build.conf
diff options
context:
space:
mode:
authorGreg Stein <gstein@apache.org>2004-02-21 00:31:49 +0000
committerGreg Stein <gstein@apache.org>2004-02-21 00:31:49 +0000
commit425945abd2d835393db99589d801e68a74995aa3 (patch)
treebc2ad48cfdf9e57b3351621c63a22f2cf80283a7 /build.conf
parent4dfedceb0505fc0a5e6790d4fc4d2236d3929e9d (diff)
downloadapr-425945abd2d835393db99589d801e68a74995aa3.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: https://svn.apache.org/repos/asf/apr/apr/trunk@64914 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'build.conf')
-rw-r--r--build.conf23
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