Author: tridge Date: 2005-07-13 09:44:55 +0000 (Wed, 13 Jul 2005) New Revision: 8416
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8416 Log: added the extra_cflags.txt system from smb-build this removes the need for recursive make for heimdal, which is a big win. It should also make it easier/cleaner to build ldb/tdb/appweb etc in both in-tree and out-of-tree forms by allowing us to specify different CFLAGS (and thus different include paths) per directory or file Added: branches/SAMBA_4_0/source/extra_cflags.txt branches/SAMBA_4_0/source/script/cflags.sh Modified: branches/SAMBA_4_0/source/build/smb_build/config_mk.pm branches/SAMBA_4_0/source/build/smb_build/makefile.pm branches/SAMBA_4_0/source/heimdal_build/config.mk Changeset: Modified: branches/SAMBA_4_0/source/build/smb_build/config_mk.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-07-13 06:08:35 UTC (rev 8415) +++ branches/SAMBA_4_0/source/build/smb_build/config_mk.pm 2005-07-13 09:44:55 UTC (rev 8416) @@ -24,7 +24,6 @@ "MINOR_VERSION" => "string", "RELEASE_VERSION" => "string", "ENABLE" => "bool", - "TARGET_CFLAGS" => "list", "CMD" => "string", "MANPAGE" => "string" ); Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-07-13 06:08:35 UTC (rev 8415) +++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm 2005-07-13 09:44:55 UTC (rev 8416) @@ -234,7 +234,7 @@ # $comment .$src.$dst: [EMAIL PROTECTED] $message \$\*.$src - [EMAIL PROTECTED](CC) \$(TARGET_CFLAGS) \$(CFLAGS) $flags -c \$< -o \$\@ + [EMAIL PROTECTED](CC) `script/cflags.sh [EMAIL PROTECTED] \$(CFLAGS) $flags -c \$< -o \$\@ [EMAIL PROTECTED]@ -mv `echo \$\@ | sed 's%^.*/%%g'` \$\@ __EOD__ @@ -402,10 +402,6 @@ $output .= "$ctx->{TARGET}: "; - if (defined ($ctx->{TARGET_CFLAGS})) { - $output .= "[EMAIL PROTECTED](MAKE) TARGET_CFLAGS=\"" . join(' ', @{$ctx->{TARGET_CFLAGS}}) . "\" "; - } - $output .= "\$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJS)\n"; $output .= "[EMAIL PROTECTED] $ctx->{TARGET}\n"; Added: branches/SAMBA_4_0/source/extra_cflags.txt =================================================================== --- branches/SAMBA_4_0/source/extra_cflags.txt 2005-07-13 06:08:35 UTC (rev 8415) +++ branches/SAMBA_4_0/source/extra_cflags.txt 2005-07-13 09:44:55 UTC (rev 8416) @@ -0,0 +1 @@ +heimdal -Iheimdal_build -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include Modified: branches/SAMBA_4_0/source/heimdal_build/config.mk =================================================================== --- branches/SAMBA_4_0/source/heimdal_build/config.mk 2005-07-13 06:08:35 UTC (rev 8415) +++ branches/SAMBA_4_0/source/heimdal_build/config.mk 2005-07-13 09:44:55 UTC (rev 8416) @@ -1,7 +1,6 @@ ####################### # Start SUBSYSTEM HEIMDAL_KDC [SUBSYSTEM::HEIMDAL_KDC] -TARGET_CFLAGS = -Iheimdal_build -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include ADD_OBJ_FILES = \ heimdal/kdc/default_config.o \ heimdal/kdc/kerberos5.o \ @@ -19,7 +18,6 @@ ####################### # Start SUBSYSTEM HEIMDAL_HDB [SUBSYSTEM::HEIMDAL_HDB] -TARGET_CFLAGS = -Iheimdal_build -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include ADD_OBJ_FILES = \ heimdal/lib/hdb/db.o \ heimdal/lib/hdb/hdb.o \ @@ -327,7 +325,6 @@ heimdal/lib/roken/setprogname.o \ heimdal/lib/asn1/symbol.o REQUIRED_SUBSYSTEMS = HEIMDAL_ROKEN -TARGET_CFLAGS = -Iheimdal_build -Iheimdal/lib/roken NOPROTO = YES # End SUBSYSTEM ASN1_COMPILER ####################### @@ -353,7 +350,6 @@ heimdal/lib/roken/strupr.o \ heimdal/lib/roken/print_version.o \ heimdal/lib/roken/setprogname.o -TARGET_CFLAGS = -Iheimdal_build -Iheimdal/lib/roken NOPROTO = YES # End SUBSYSTEM COMPILE_ET ####################### @@ -379,7 +375,6 @@ # Start SUBSYSTEM HEIMDAL [SUBSYSTEM::HEIMDAL] NOPROTO = YES -TARGET_CFLAGS = -Iheimdal_build -Iheimdal/kdc -Iheimdal/lib/des -Iheimdal/lib/roken -Iheimdal/include REQUIRED_SUBSYSTEMS = \ HEIMDAL_GSSAPI HEIMDAL_KRB5 \ HEIMDAL_ASN1 HEIMDAL_DES HEIMDAL_ROKEN HEIMDAL_COM_ERR HEIMDAL_GLUE Added: branches/SAMBA_4_0/source/script/cflags.sh =================================================================== --- branches/SAMBA_4_0/source/script/cflags.sh 2005-07-13 06:08:35 UTC (rev 8415) +++ branches/SAMBA_4_0/source/script/cflags.sh 2005-07-13 09:44:55 UTC (rev 8416) @@ -0,0 +1,28 @@ +#!/bin/sh + +# This is a hack to allow per target cflags. It isn't very elegant, but it +# is the most portable idea we have come up with yet +# [EMAIL PROTECTED], July 2005 + +TARGET=$1 + +check_flags() +{ + NAME=$1 + ( + while read tag flags; do + if [ "$tag" = "$NAME" ]; then + echo "$flags" + exit 0; + fi + done + ) < extra_cflags.txt +} + + +NAME=$TARGET +while [ "$NAME" != "." ]; do + check_flags "$NAME" + NAME=`dirname $NAME` +done +exit 0; Property changes on: branches/SAMBA_4_0/source/script/cflags.sh ___________________________________________________________________ Name: svn:executable + *