Use the python install path from xcb-xproto.pc to locate the xcbgen package.

This commit is contained in:
Eamon Walsh 2008-04-23 20:25:57 -04:00 committed by Eamon Walsh
parent b3832bcc46
commit 40566c36d5
3 changed files with 23 additions and 4 deletions

View File

@ -60,6 +60,12 @@ XCBPROTO_XCBINCLUDEDIR=`$PKG_CONFIG --variable=xcbincludedir xcb-proto`
AC_MSG_RESULT($XCBPROTO_XCBINCLUDEDIR)
AC_SUBST(XCBPROTO_XCBINCLUDEDIR)
# Find the xcbgen Python package
AC_MSG_CHECKING(XCBPROTO_XCBPYTHONDIR)
XCBPROTO_XCBPYTHONDIR=`$PKG_CONFIG --variable=pythondir xcb-proto`
AC_MSG_RESULT($XCBPROTO_XCBPYTHONDIR)
AC_SUBST(XCBPROTO_XCBPYTHONDIR)
AC_HEADER_STDC
AC_SEARCH_LIBS(getaddrinfo, socket)
AC_SEARCH_LIBS(connect, socket)

View File

@ -268,10 +268,10 @@ $(EXTHEADERS) $(EXTSOURCES): c_client.py
SUFFIXES = .xml
.xml.h:
$(PYTHON) c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$<
$(PYTHON) c_client.py -p $(XCBPROTO_XCBPYTHONDIR) $(XCBPROTO_XCBINCLUDEDIR)/$<
.xml.c:
$(PYTHON) c_client.py $(XCBPROTO_XCBINCLUDEDIR)/$<
$(PYTHON) c_client.py -p $(XCBPROTO_XCBPYTHONDIR) $(XCBPROTO_XCBINCLUDEDIR)/$<
$(EXTENSION_XML):
$(LN_S) -f $(XCBPROTO_XCBINCLUDEDIR)/$@ $@

View File

@ -1,7 +1,8 @@
#!/usr/bin/env python
from xml.etree.cElementTree import *
from sys import argv
from os.path import basename
import getopt
import sys
import re
# Jump to the bottom of this file for the main routine
@ -982,6 +983,18 @@ output = {'open' : c_open,
# Boilerplate below this point
# Check for the argument that specifies path to the xcbgen python package.
try:
opts, args = getopt.getopt(sys.argv[1:], 'p:')
except getopt.GetoptError, err:
print str(err)
print 'Usage: c_client.py [-p path] file.xml'
sys.exit(1)
for (opt, arg) in opts:
if opt == '-p':
sys.path.append(arg)
# Import the module class
try:
from xcbgen.state import Module
@ -996,7 +1009,7 @@ except ImportError:
raise
# Parse the xml header
module = Module(argv[1], output)
module = Module(args[0], output)
# Build type-registry and resolve type dependencies
module.register()