Update according to input

pull/2340/head
Niklas Claesson 8 years ago
parent 07dde545d9
commit 63ada0ce26
  1. 16
      test cases/common/98 gen extra/meson.build
  2. 32
      test cases/common/98 gen extra/srcgen2.py

@ -12,21 +12,19 @@ g2 = gen.process('name.dat', extra_args: '--upper')
test('basic', executable('basic', 'plain.c', g1))
test('upper', executable('upper', 'upper.c', g2))
cp = find_program('cp')
basename_gen = generator(cp,
output : '@BASENAME@.c',
arguments : ['@INPUT@', join_paths('@BUILD_DIR@', '@BASENAME@.c')])
prog2 = find_program('srcgen2.py')
basename_gen = generator(prog2,
output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'],
arguments : ['@BUILD_DIR@', '@BASENAME@', '@INPUT@'])
# This test should produce a name.c
basename_src = basename_gen.process('name.l')
test('basename', executable('basename', basename_src))
plainname_gen = generator(cp,
output : '@PLAINNAME@.c',
arguments : ['@INPUT@', join_paths('@BUILD_DIR@', '@PLAINNAME@.c')])
plainname_gen = generator(prog2,
output : ['@PLAINNAME@.tab.c', '@PLAINNAME@.tab.h'],
arguments : ['@BUILD_DIR@', '@PLAINNAME@', '@INPUT@'])
# This test should produce a name.l.c
plainname_src = plainname_gen.process('name.l')
test('plainname', executable('plainname', plainname_src))

@ -0,0 +1,32 @@
#!/usr/bin/env python3
import os
import sys
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('target_dir',
help='the target dir')
parser.add_argument('stem',
help='the stem')
parser.add_argument('input',
help='the input file')
options = parser.parse_args(sys.argv[1:])
with open(options.input) as f:
content = f.read()
output_c = os.path.join(options.target_dir, options.stem + ".tab.c")
with open(output_c, 'w') as f:
f.write(content)
output_h = os.path.join(options.target_dir, options.stem + ".tab.h")
h_content = '''#pragma once
int myfun(void);
'''
with open(output_h, 'w') as f:
f.write(h_content)
Loading…
Cancel
Save