Revision: 425 http://trac.macosforge.org/projects/darwinbuild/changeset/425 Author: wsiegrist@apple.com Date: 2008-12-02 14:01:46 -0800 (Tue, 02 Dec 2008) Log Message: ----------- Add Ben Huntsman's support for xcode's configuration parameter Modified Paths: -------------- trunk/darwinbuild/darwinbuild Added Paths: ----------- trunk/darwinxref/plugins/configuration.c Modified: trunk/darwinbuild/darwinbuild =================================================================== --- trunk/darwinbuild/darwinbuild 2008-11-22 01:05:53 UTC (rev 424) +++ trunk/darwinbuild/darwinbuild 2008-12-02 22:01:46 UTC (rev 425) @@ -105,6 +105,7 @@ projnam="" action="install" target="" +configuration="" version="" ### @@ -167,7 +168,7 @@ function PrintUsage() { cat <<-EOF 1>&2 usage: $(basename $0) [flags] <project> [<version>] - usage: flags: [-headers] [-build=X] [-target=X] + usage: flags: [-headers] [-build=X] [-target=X] [-configuration=X] [-logdeps] [-nochroot] [-nopatch] [-noload | -loadonly] [-depsbuild=X [-depsbuild=Y]] [-fetch] [-source] [-load] @@ -221,6 +222,7 @@ ### don't build. ### -logdeps Do magic to log the build-time dependencies ### -target=X The makefile or xcode target to build +### -configuration=X The build configuration to use ### -build=X X is the darwin build number to buld, e.g. 8B15 ### -depsbuild=X X is the darwin build number to populate the BuildRoot ### <project> The name of the project to build @@ -246,6 +248,8 @@ action="source" elif [ "${ARG/=*/}" == "-target" ]; then target="${ARG/*=/}" + elif [ "${ARG/=*/}" == "-configuration" ]; then + configuration="${ARG/*=/}" elif [ "${ARG/=*/}" == "-build" ]; then build="${ARG/*=/}" elif [ "${ARG/=*/}" == "-depsbuild" ]; then @@ -342,6 +346,13 @@ fi # +# Look for an alternate build configuration in the database +# +if [ "$configuration" == "" -a "$action" == "install" ]; then + configuration=$($DARWINXREF configuration "$projnam") +fi + +# # Sanity check to make sure we actually have a project to build. # if [ "$project" == "" ]; then @@ -612,6 +623,14 @@ action="$target" fi +# +# append build configuration to $action, if any +# this is only applicable to xcodebuild +# +if [ "$buildtool" == "xcodebuild" -a "$configuration" != "" ]; then + build_string="$build_string -configuration $configuration" +fi + ### ### Write out the build script that will be used. ### This may or may not be executed in a chroot. Added: trunk/darwinxref/plugins/configuration.c =================================================================== --- trunk/darwinxref/plugins/configuration.c (rev 0) +++ trunk/darwinxref/plugins/configuration.c 2008-12-02 22:01:46 UTC (rev 425) @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2008 Apple Computer, Inc. All rights reserved. + * Portions copyright (c) 2008 Ben Huntsman <BHuntsman@mail2.cu-portland.edu> + * + * @APPLE_BSD_LICENSE_HEADER_START@ + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * @APPLE_BSD_LICENSE_HEADER_END@ + * + */ + + +/* + * Support alternate build configurations, via 'xcodebuild -configuration' + * 20081124 - Ben Huntsman <BHuntsman@mail2.cu-portland.edu> + */ + +#include "DBPlugin.h" + +int initialize(int version) { + //if ( version < kDBPluginCurrentVersion ) return -1; + + DBPluginSetType(kDBPluginProjectPropertyType); + DBPluginSetName(CFSTR("configuration")); + DBPluginSetRunFunc(&DBPluginPropertyDefaultRun); + DBPluginSetUsageFunc(&DBPluginPropertyDefaultUsage); + DBPluginSetDataType(CFStringGetTypeID()); + return 0; +} +
participants (1)
-
source_changes@macosforge.org