waflib: add necessary imports
[samba.git] / buildtools / wafsamba / samba_autoproto.py
index ab21a1e1a7511d1b6b1fda6ae7609288a83cbed9..ace434f3c6bdf77526af24bae2c3b654f81f328f 100644 (file)
@@ -1,34 +1,24 @@
 # waf build tool for building automatic prototypes from C source
 
-from TaskGen import taskgen, before
-import Build, os, string, Utils
-from samba_utils import *
+import os
+from waflib import Build
+from samba_utils import SET_TARGET_TYPE, os_path_relpath
 
-# rule for heimdal prototype generation
-def HEIMDAL_AUTOPROTO(bld, header, source, options='-q -P comment -o'):
-    t = bld(rule='${PERL} -W ../heimdal/cf/make-proto.pl ${OPTIONS} ${TGT[0].abspath(env)} ${SRC}',
-            source=source,
-            target=header,
-            ext_out='.c',
-            before='cc')
-    t.env.OPTIONS = options
-Build.BuildContext.HEIMDAL_AUTOPROTO = HEIMDAL_AUTOPROTO
-
-# rule for private heimdal prototype generation
-def HEIMDAL_AUTOPROTO_PRIVATE(bld, header, source):
-    bld.HEIMDAL_AUTOPROTO(header, source, options='-q -P comment -p')
-Build.BuildContext.HEIMDAL_AUTOPROTO_PRIVATE = HEIMDAL_AUTOPROTO_PRIVATE
-
-# rule for samba prototype generation
 def SAMBA_AUTOPROTO(bld, header, source):
+    '''rule for samba prototype generation'''
     bld.SET_BUILD_GROUP('prototypes')
-    bld(
+    relpath = os_path_relpath(bld.path.abspath(), bld.srcnode.abspath())
+    name = os.path.join(relpath, header)
+    SET_TARGET_TYPE(bld, name, 'PROTOTYPE')
+    t = bld(
+        name = name,
         source = source,
         target = header,
+        update_outputs=True,
         ext_out='.c',
-        rule = '../script/mkproto.pl --srcdir=.. --builddir=. --public=/dev/null --private=${TGT} ${SRC}'
+        before ='c',
+        rule = '${PERL} "${SCRIPT}/mkproto.pl" --srcdir=.. --builddir=. --public=/dev/null --private="${TGT}" ${SRC}'
         )
-    print "Added AUTOPROTO target %s" % header
+    t.env.SCRIPT = os.path.join(bld.srcnode.abspath(), 'source4/script')
 Build.BuildContext.SAMBA_AUTOPROTO = SAMBA_AUTOPROTO
 
-