1#!/usr/bin/python 2# Copyright (c) 2012 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6# This is the setup script for pyxinput autotest dependency, which 7# will be called at emerge stage. 8 9import logging 10import os 11 12import ctypesgencore 13 14from autotest_lib.client.bin import utils 15 16 17version = 1 18 19def setup(topdir): 20 class Opt(object): 21 """Object to hold ctypesgen parseing options""" 22 def __init__(self, attrs): 23 for attr in attrs: 24 setattr(self, attr, attrs[attr]) 25 26 def gen(self): 27 """Generate outputs""" 28 desc = ctypesgencore.parser.parse(self.headers, self) 29 ctypesgencore.processor.process(desc, self) 30 ctypesgencore.printer.WrapperPrinter(self.output, self, desc) 31 32 os.chdir(os.path.join(topdir, 'src')) 33 34 # Generate xlib.py 35 opt = Opt(ctypesgencore.options.default_values) 36 opt.libraries = ['X11'] 37 opt.headers = ['/usr/include/X11/Xlib.h', 38 '/usr/include/X11/X.h', 39 '/usr/include/X11/Xutil.h'] 40 opt.output = 'xlib.py' 41 opt.other_known_names = ['None'] 42 opt.gen() 43 44 # Generate xi2.py 45 opt = Opt(ctypesgencore.options.default_values) 46 opt.libraries = ['Xi'] 47 opt.headers = ['/usr/include/X11/extensions/XI2.h', 48 '/usr/include/X11/extensions/XInput2.h'] 49 opt.output = 'xi2.py' 50 opt.other_known_names = ['None'] 51 opt.gen() 52 53 os.chdir(topdir) 54 55pwd = os.getcwd() 56utils.update_version(pwd + '/src', True, version, setup, pwd) 57