From 85a11c4fb7ee39294298657f0e88c23e9a37da98 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 27 Mar 2010 15:12:40 +1100 Subject: build: support wildcard excludes in INSTALL_WILDCARD() --- buildtools/wafsamba/wafsamba.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'buildtools') diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index 060a323895..876cdf6988 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -1,7 +1,7 @@ # a waf tool to add autoconf-like macros to the configure section # and for SAMBA_ macros for building libraries, binaries etc -import Build, os, Options, Task, Utils, cc, TaskGen +import Build, os, Options, Task, Utils, cc, TaskGen, fnmatch from Configure import conf from Logs import debug from samba_utils import SUBST_VARS_RECURSIVE @@ -640,10 +640,14 @@ Build.BuildContext.INSTALL_FILES = INSTALL_FILES def INSTALL_WILDCARD(bld, destdir, pattern, chmod=0644, flat=False, - python_fixup=False): + python_fixup=False, exclude=None): '''install a set of files matching a wildcard pattern''' - files=bld.path.ant_glob(pattern) - INSTALL_FILES(bld, destdir, files, chmod=chmod, flat=flat) + files=TO_LIST(bld.path.ant_glob(pattern)) + if exclude: + for f in files[:]: + if fnmatch.fnmatch(f, exclude): + files.remove(f) + INSTALL_FILES(bld, destdir, files, chmod=chmod, flat=flat, python_fixup=python_fixup) Build.BuildContext.INSTALL_WILDCARD = INSTALL_WILDCARD @@ -654,7 +658,6 @@ def PUBLIC_HEADERS(bld, public_headers, header_path=None): or it can be a dictionary of wildcard patterns which map to destination directories relative to INCLUDEDIR ''' - import fnmatch dest = '${INCLUDEDIR}' if isinstance(header_path, str): dest += '/' + header_path -- cgit