3 # WARNING! Do not edit! https://waf.io/book/index.html#_obtaining_the_waf_file
8 from os import environ, path
9 from waflib import TaskGen, Utils
12 grp = opt.add_option_group('Oracle ProC Options')
13 grp.add_option('--oracle_home', action='store', default=environ.get('PROC_ORACLE'), help='Path to Oracle installation home (has bin/lib)')
14 grp.add_option('--tns_admin', action='store', default=environ.get('TNS_ADMIN'), help='Directory containing server list (TNS_NAMES.ORA)')
15 grp.add_option('--connection', action='store', default='dummy-user/dummy-password@dummy-server', help='Format: user/password@server')
19 if not env.PROC_ORACLE:
20 env.PROC_ORACLE = cnf.options.oracle_home
21 if not env.PROC_TNS_ADMIN:
22 env.PROC_TNS_ADMIN = cnf.options.tns_admin
23 if not env.PROC_CONNECTION:
24 env.PROC_CONNECTION = cnf.options.connection
25 cnf.find_program('proc', var='PROC', path_list=env.PROC_ORACLE + path.sep + 'bin')
30 inc_nodes = gen.to_incnodes(Utils.to_list(getattr(gen,'includes',[])) + env['INCLUDES'])
34 ['SQLCHECK=SEMANTICS'] +
35 (['SYS_INCLUDE=(' + ','.join(env.PROC_INCLUDES) + ')']
36 if env.PROC_INCLUDES else []) +
37 ['INCLUDE=(' + ','.join(
38 [i.bldpath() for i in inc_nodes]
40 ['userid=' + env.PROC_CONNECTION] +
41 ['INAME=' + tsk.inputs[0].bldpath()] +
42 ['ONAME=' + tsk.outputs[0].bldpath()]
45 'ORACLE_HOME': env.PROC_ORACLE,
46 'LD_LIBRARY_PATH': env.PROC_ORACLE + path.sep + 'lib',
48 if env.PROC_TNS_ADMIN:
49 exec_env['TNS_ADMIN'] = env.PROC_TNS_ADMIN
50 return tsk.exec_command(cmd, env=exec_env)
52 TaskGen.declare_chain(