s3:utils: Fix 'Usage:' for 'net ads enctypes'
[samba4-gss.git] / third_party / waf / waflib / extras / proc.py
blob764abecfc304fd1d250cf7ea134712a5cdc5634a
1 #! /usr/bin/env python
2 # per rosengren 2011
4 from os import environ, path
5 from waflib import TaskGen, Utils
7 def options(opt):
8 grp = opt.add_option_group('Oracle ProC Options')
9 grp.add_option('--oracle_home', action='store', default=environ.get('PROC_ORACLE'), help='Path to Oracle installation home (has bin/lib)')
10 grp.add_option('--tns_admin', action='store', default=environ.get('TNS_ADMIN'), help='Directory containing server list (TNS_NAMES.ORA)')
11 grp.add_option('--connection', action='store', default='dummy-user/dummy-password@dummy-server', help='Format: user/password@server')
13 def configure(cnf):
14 env = cnf.env
15 if not env.PROC_ORACLE:
16 env.PROC_ORACLE = cnf.options.oracle_home
17 if not env.PROC_TNS_ADMIN:
18 env.PROC_TNS_ADMIN = cnf.options.tns_admin
19 if not env.PROC_CONNECTION:
20 env.PROC_CONNECTION = cnf.options.connection
21 cnf.find_program('proc', var='PROC', path_list=env.PROC_ORACLE + path.sep + 'bin')
23 def proc(tsk):
24 env = tsk.env
25 gen = tsk.generator
26 inc_nodes = gen.to_incnodes(Utils.to_list(getattr(gen,'includes',[])) + env['INCLUDES'])
28 cmd = (
29 [env.PROC] +
30 ['SQLCHECK=SEMANTICS'] +
31 (['SYS_INCLUDE=(' + ','.join(env.PROC_INCLUDES) + ')']
32 if env.PROC_INCLUDES else []) +
33 ['INCLUDE=(' + ','.join(
34 [i.bldpath() for i in inc_nodes]
35 ) + ')'] +
36 ['userid=' + env.PROC_CONNECTION] +
37 ['INAME=' + tsk.inputs[0].bldpath()] +
38 ['ONAME=' + tsk.outputs[0].bldpath()]
40 exec_env = {
41 'ORACLE_HOME': env.PROC_ORACLE,
42 'LD_LIBRARY_PATH': env.PROC_ORACLE + path.sep + 'lib',
44 if env.PROC_TNS_ADMIN:
45 exec_env['TNS_ADMIN'] = env.PROC_TNS_ADMIN
46 return tsk.exec_command(cmd, env=exec_env)
48 TaskGen.declare_chain(
49 name = 'proc',
50 rule = proc,
51 ext_in = '.pc',
52 ext_out = '.c',