Changeset 23667


Ignore:
Timestamp:
2010-10-27T15:38:05+02:00 (6 years ago)
Author:
mb
Message:

Fixup python-sip and pyqt4 to use the internal host-python.

Location:
packages/lang
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • packages/lang/pyqt4/Makefile

    r23371 r23667  
    3232  MAINTAINER:=Michael Buesch <mb@bu3sch.de> 
    3333  URL:=http://www.riverbankcomputing.co.uk/software/pyqt/download 
    34   DEPENDS:=+qt4 +dbus-python +python-sip @FEATURE_drawing-backend_libX11 
     34  DEPENDS:=+qt4 +dbus-python +python +python-sip @FEATURE_drawing-backend_libX11 
    3535endef 
    3636 
     
    7474 
    7575define Build/Configure 
    76         echo "$(STAGING_DIR)/usr" > $(QTDIRSFILE); \ 
    77         echo "$(STAGING_DIR)/usr/include" >> $(QTDIRSFILE); \ 
    78         echo "$(STAGING_DIR)/usr/lib" >> $(QTDIRSFILE); \ 
    79         echo "$(STAGING_DIR)/usr/bin" >> $(QTDIRSFILE); \ 
    80         echo "$(STAGING_DIR)/usr/share" >> $(QTDIRSFILE); \ 
    81         echo "$(STAGING_DIR)/usr/lib/Qt/plugins" >> $(QTDIRSFILE); \ 
    82         $(QT_VERSION) >> $(QTDIRSFILE); \ 
    83         $(QT_EDITION) >> $(QTDIRSFILE); \ 
    84         echo "Open Source" >> $(QTDIRSFILE); \ 
    85         echo "shared" >> $(QTDIRSFILE); \ 
    86         \ 
    87         $(CP) "$(PYTHON_SIP_CONFIG_TEMPLATE)" "$(SIPCFGFILE)"; \ 
    88         echo "INCDIR_QT                 $(STAGING_DIR)/usr/include" >> $(SIPCFGFILE); \ 
    89         echo "LIBDIR_QT                 $(STAGING_DIR)/usr/lib" >> $(SIPCFGFILE); \ 
    90         echo "MOC                       $(STAGING_DIR_HOST)/bin/moc" >> $(SIPCFGFILE); \ 
    91         echo "QT_INSTALL_BINS           $(STAGING_DIR)/usr/bin" >> $(SIPCFGFILE); \ 
    92         echo "QT_INSTALL_HEADERS        $(STAGING_DIR)/usr/include" >> $(SIPCFGFILE); \ 
    93         echo "QT_INSTALL_LIBS           $(STAGING_DIR)/usr/lib" >> $(SIPCFGFILE); \ 
    94         echo "INCDIR                    $(TARGET_INCDIRS)" >> $(SIPCFGFILE); \ 
    95         echo "INCDIR_OPENGL             $(TARGET_INCDIRS)" >> $(SIPCFGFILE); \ 
    96         echo "INCDIR_X11                $(TARGET_INCDIRS)" >> $(SIPCFGFILE); \ 
    97         echo "LIBDIR                    $(TARGET_LIBDIRS)" >> $(SIPCFGFILE); \ 
    98         echo "LIBDIR_OPENGL             $(TARGET_LIBDIRS)" >> $(SIPCFGFILE); \ 
    99         echo "LIBDIR_X11                $(TARGET_LIBDIRS)" >> $(SIPCFGFILE); \ 
    100         ( \ 
     76        echo "$(STAGING_DIR)/usr" > $(QTDIRSFILE) 
     77        echo "$(STAGING_DIR)/usr/include" >> $(QTDIRSFILE) 
     78        echo "$(STAGING_DIR)/usr/lib" >> $(QTDIRSFILE) 
     79        echo "$(STAGING_DIR)/usr/bin" >> $(QTDIRSFILE) 
     80        echo "$(STAGING_DIR)/usr/share" >> $(QTDIRSFILE) 
     81        echo "$(STAGING_DIR)/usr/lib/Qt/plugins" >> $(QTDIRSFILE) 
     82        $(QT_VERSION) >> $(QTDIRSFILE) 
     83        $(QT_EDITION) >> $(QTDIRSFILE) 
     84        echo "Open Source" >> $(QTDIRSFILE) 
     85        echo "shared" >> $(QTDIRSFILE) 
     86 
     87        $(CP) "$(PYTHON_SIP_CONFIG_TEMPLATE)" "$(SIPCFGFILE)" 
     88        echo "INCDIR_QT                 $(STAGING_DIR)/usr/include" >> $(SIPCFGFILE) 
     89        echo "LIBDIR_QT                 $(STAGING_DIR)/usr/lib" >> $(SIPCFGFILE) 
     90        echo "MOC                       $(STAGING_DIR_HOST)/bin/moc" >> $(SIPCFGFILE) 
     91        echo "QT_INSTALL_BINS           $(STAGING_DIR)/usr/bin" >> $(SIPCFGFILE) 
     92        echo "QT_INSTALL_HEADERS        $(STAGING_DIR)/usr/include" >> $(SIPCFGFILE) 
     93        echo "QT_INSTALL_LIBS           $(STAGING_DIR)/usr/lib" >> $(SIPCFGFILE) 
     94        echo "INCDIR                    $(TARGET_INCDIRS)" >> $(SIPCFGFILE) 
     95        echo "INCDIR_OPENGL             $(TARGET_INCDIRS)" >> $(SIPCFGFILE) 
     96        echo "INCDIR_X11                $(TARGET_INCDIRS)" >> $(SIPCFGFILE) 
     97        echo "LIBDIR                    $(TARGET_LIBDIRS)" >> $(SIPCFGFILE) 
     98        echo "LIBDIR_OPENGL             $(TARGET_LIBDIRS)" >> $(SIPCFGFILE) 
     99        echo "LIBDIR_X11                $(TARGET_LIBDIRS)" >> $(SIPCFGFILE) 
     100 
     101        $(call HostPython, \ 
    101102                cd "$(PKG_BUILD_DIR)"; \ 
    102                 export PYTHONPATH="$(STAGING_DIR_HOST)/$(PYTHON_PKG_DIR)"; \ 
    103                 export PYTHONDONTWRITEBYTECODE=1; \ 
    104                 python ./configure.py \ 
     103                , \ 
     104                ./configure.py \ 
    105105                        --use-arch="$(ARCH)" \ 
    106106                        --qmake="$(STAGING_DIR_HOST)/bin/qmake" \ 
     
    118118                        --qmake-prefix='STAGING_DIR_HOST="$(STAGING_DIR)/../host"' \ 
    119119                        --qtdirs-file="$(QTDIRSFILE)" \ 
     120                        --host-sip-bin="$(STAGING_DIR_HOST)/usr/bin/sip" \ 
    120121                        --sipconfig-macros="$(SIPCFGFILE)" \ 
    121122                        --dbus="$(STAGING_DIR)/usr/include/dbus-1.0" \ 
     
    131132                        --confirm-license \ 
    132133                        --verbose \ 
    133         ); \ 
     134        ) 
    134135        ./files/fixup.sh "$(PKG_BUILD_DIR)" 
    135136endef 
    136  
    137 #FIXME: Something still puts the host Python include path into the CFLAGS. 
    138 #       I'm currently unsure who does this. Most likely SIP. arghh.. 
    139137 
    140138define Build/Compile 
     
    154152endef 
    155153 
    156 $(eval $(call RequireCommand,python, \ 
    157         Please install Python 2.x \ 
    158 )) 
    159  
    160154$(eval $(call BuildPackage,pyqt4)) 
  • packages/lang/pyqt4/patches/100-cross-compile.patch

    r22743 r23667  
    33 1 file changed, 149 insertions(+), 69 deletions(-) 
    44 
    5 --- PyQt-x11-gpl-4.7.4.orig/configure.py 
    6 +++ PyQt-x11-gpl-4.7.4/configure.py 
    7 @@ -33,6 +33,7 @@ import os 
     5Index: PyQt-x11-gpl-4.7.4/configure.py 
     6=================================================================== 
     7--- PyQt-x11-gpl-4.7.4.orig/configure.py        2010-07-12 12:41:15.000000000 +0200 
     8+++ PyQt-x11-gpl-4.7.4/configure.py     2010-10-27 12:30:01.000000000 +0200 
     9@@ -33,6 +33,7 @@ 
    810 import glob 
    911 import optparse 
     
    1315 import sipconfig 
    1416  
    15 @@ -173,25 +174,17 @@ def create_optparser(): 
     17@@ -173,25 +174,17 @@ 
    1618             metavar="PLUGIN", dest="staticplugins", help="add PLUGIN to the " 
    1719             "list be linked (if Qt is built as static libraries)") 
     
    5052     g.add_option("-s", "--dbus", action="callback", metavar="DIR", 
    5153             dest="pydbusincdir", callback=store_abspath_dir, type="string", 
    52 @@ -199,13 +192,13 @@ def create_optparser(): 
     54@@ -199,13 +192,13 @@ 
    5355             "[default: supplied by pkg-config]") 
    5456     p.add_option_group(g) 
     
    7173     # Installation. 
    7274     g = optparse.OptionGroup(p, title="Installation") 
    73 @@ -264,12 +257,38 @@ def create_optparser(): 
     75@@ -264,12 +257,42 @@ 
    7476             "QTDIR/qsci]") 
    7577     p.add_option_group(g) 
     
    8082+                 default=False, dest="crosscompile", 
    8183+                 help="Set, if cross-compiling") 
     84+    g.add_option("--host-sip-bin", action="callback", metavar="FILE", 
     85+                 default=None, dest="host_sip_bin", type="string", 
     86+                 callback=store_abspath_file, 
     87+                 help="Path to the host SIP binary") 
    8288+    g.add_option("--sipconfig-macros", action="callback", metavar="FILE", 
    8389+                 default=None, dest="sipconfig_macros", type="string", 
     
    111117  
    112118     def __init__(self): 
    113 @@ -282,6 +301,8 @@ class pyrccMakefile(sipconfig.ProgramMak 
     119@@ -282,6 +305,8 @@ 
    114120     def generate_target_default(self, mfile): 
    115121         """Generate the default target.""" 
     
    120126         # The correct call to pyrcc depends on the Python version. 
    121127         if sys.hexversion >= 0x03000000: 
    122 @@ -772,7 +793,7 @@ include(%s) 
     128@@ -772,7 +797,7 @@ 
    123129  
    124130             f.close() 
     
    129135  
    130136         sipconfig.inform("Creating QPy support libraries Makefile...") 
    131 @@ -825,12 +846,16 @@ include(%s) 
     137@@ -825,12 +850,16 @@ 
    132138         # not on Windows (so that normal console use will work). 
    133139         sipconfig.inform("Creating pyuic4 wrapper...") 
     
    150156         uicdir=os.path.join(pyqt_modroot, "uic") 
    151157         wrapper = sipconfig.create_wrapper(os.path.join(uicdir, "pyuic.py"), os.path.join("pyuic", "pyuic4"), gui, use_arch) 
    152 @@ -880,6 +905,7 @@ include(%s) 
     158@@ -880,6 +909,7 @@ 
    153159             py_major = sipcfg.py_version >> 16 
    154160             py_minor = (sipcfg.py_version >> 8) & 0x0ff 
     
    158164                 lib_dir_flag = quote("-L%s" % sipcfg.py_lib_dir) 
    159165                 link = "%s -lpython%d%d" % (lib_dir_flag, py_major, py_minor) 
    160 @@ -938,7 +964,7 @@ include(%s) 
     166@@ -938,7 +968,7 @@ 
    161167                 fout.write(prj) 
    162168                 fout.close() 
     
    167173  
    168174                 tool.append("designer") 
    169 @@ -1056,6 +1082,14 @@ def create_config(module, template, macr 
     175@@ -1056,6 +1086,14 @@ 
    170176     sipconfig.create_config_module(module, template, content, macros) 
    171177  
     
    182188     """Run a command and display the output if verbose mode is enabled. 
    183189  
    184 @@ -1272,30 +1306,38 @@ def check_dbus(): 
     190@@ -1272,30 +1310,38 @@ 
    185191     """ 
    186192     sipconfig.inform("Checking to see if the dbus support module should be built...") 
     
    242248     # Try and find dbus-python.h.  We don't use pkg-config because it is broken 
    243249     # for dbus-python (at least for versions up to and including v0.81.0). 
    244 @@ -1381,6 +1423,7 @@ def set_sip_flags(pyqt): 
     250@@ -1381,6 +1427,7 @@ 
    245251  
    246252     pyqt is the configuration instance. 
     
    250256     # feature 
    251257     if not opts.vendorcheck: 
    252 @@ -1779,6 +1822,8 @@ def check_qt_installation(macros): 
     258@@ -1525,7 +1572,10 @@ 
     259             needed_qt_libs(mname, qt_libs) 
     260  
     261     # Build the SIP command line.  Keyword argument support is enabled. 
     262-    argv = ['"' + sipcfg.sip_bin + '"', '-k'] 
     263+    sip_bin = sipcfg.sip_bin 
     264+    if opts.host_sip_bin: 
     265+        sip_bin = opts.host_sip_bin 
     266+    argv = ['"' + sip_bin + '"', '-k'] 
     267  
     268     if not opts.no_docstrings: 
     269         argv.append("-o"); 
     270@@ -1779,6 +1829,8 @@ 
    253271 def fix_qmake_args(args=""): 
    254272     """Make any platform specific adjustments to the arguments passed to qmake. 
     
    259277         # The Qt binary installer has macx-xcode as the default. 
    260278         args = "-spec %s %s" % (sipcfg.platform, args) 
    261 @@ -1930,7 +1975,7 @@ int main(int, char **) 
     279@@ -1930,7 +1982,7 @@ 
    262280  
    263281     # Create the makefile, first making sure it doesn't already exist. 
     
    268286     if not os.access(make_file, os.F_OK): 
    269287         sipconfig.error("%s failed to create a makefile. %s" % (opts.qmake, MSG_CHECK_QMAKE)) 
    270 @@ -1952,15 +1997,30 @@ int main(int, char **) 
     288@@ -1952,15 +2004,30 @@ 
    271289     if not os.access(exe_file, os.X_OK): 
    272290         sipconfig.error("Failed to determine the layout of your Qt installation. Try again using the --verbose flag to see more detail about the problem.") 
     
    306324     f.close() 
    307325  
    308 @@ -2022,6 +2082,24 @@ int main(int, char **) 
     326@@ -2022,6 +2089,24 @@ 
    309327             sipconfig.error("Qt has been built as static libraries so either the -g or -k argument should be used.") 
    310328  
     
    331349     """Create the configuration module module. 
    332350     """ 
    333 @@ -2036,7 +2114,7 @@ def main(): 
     351@@ -2036,7 +2121,7 @@ 
    334352     opts, args = p.parse_args() 
    335353  
     
    340358         opts.prot_is_public = False 
    341359  
    342 @@ -2069,12 +2147,14 @@ def main(): 
     360@@ -2069,12 +2154,14 @@ 
    343361             # Install the API file if the default directory exists. 
    344362             opts.api = os.path.isdir(opts.qscidir) 
  • packages/lang/python-sip/Makefile

    r23620 r23667  
    2121PKG_BUILD_DIR:=$(BUILD_DIR)/sip-$(PKG_VERSION) 
    2222 
     23PKG_BUILD_DEPENDS:=python 
     24HOST_BUILD_DEPENDS:=python 
     25 
    2326include $(INCLUDE_DIR)/host-build.mk 
    2427include $(INCLUDE_DIR)/package.mk 
     
    4245 
    4346define Build/Configure 
    44         $(INSTALL_DIR) "$(PYTHON_SIP_CONFIG_TEMPLATE_DIR)"; \ 
    45         $(CP) ./files/sipconfig.macros.template "$(PYTHON_SIP_CONFIG_TEMPLATE)"; \ 
    46         echo "CC                        $(TARGET_CROSS)gcc" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    47         echo "CFLAGS                    $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    48         echo "CXX                       $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    49         echo "CXXFLAGS                  $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    50         echo "LINK                      $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    51         echo "LINK_SHLIB                $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    52         echo "LFLAGS                    $(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    53         echo "AR                        $(TARGET_CROSS)ar cqs" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    54         echo "STRIP                     $(STRIP)" >> $(PYTHON_SIP_CONFIG_TEMPLATE); \ 
    55         (       cd "$(PKG_BUILD_DIR)"; \ 
    56                 export PYTHONDONTWRITEBYTECODE=1; \ 
    57                 python -E ./configure.py \ 
     47        $(INSTALL_DIR) "$(PYTHON_SIP_CONFIG_TEMPLATE_DIR)" 
     48        $(CP) ./files/sipconfig.macros.template "$(PYTHON_SIP_CONFIG_TEMPLATE)" 
     49        echo "CC                        $(TARGET_CROSS)gcc" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     50        echo "CFLAGS                    $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     51        echo "CXX                       $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     52        echo "CXXFLAGS                  $(TARGET_CFLAGS) $(EXTRA_CFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     53        echo "LINK                      $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     54        echo "LINK_SHLIB                $(TARGET_CROSS)g++" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     55        echo "LFLAGS                    $(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     56        echo "AR                        $(TARGET_CROSS)ar cqs" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     57        echo "STRIP                     $(STRIP)" >> $(PYTHON_SIP_CONFIG_TEMPLATE) 
     58        $(call HostPython, \ 
     59                cd "$(PKG_BUILD_DIR)"; \ 
     60                , \ 
     61                ./configure.py \ 
     62                        --crosscompile \ 
    5863                        --bindir=$(PKG_INSTALL_DIR)/usr/bin \ 
    5964                        --destdir=$(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR) \ 
     
    6166                        --sipdir=$(PKG_INSTALL_DIR)/usr/share/sip \ 
    6267                        --sipconfig-macros="$(PYTHON_SIP_CONFIG_TEMPLATE)" \ 
     68                        --py-site-dir=$(STAGING_DIR)/$(PYTHON_PKG_DIR) \ 
     69                        --py-inc-dir=$(PYTHON_INC_DIR) \ 
     70                        --py-conf-inc-dir=$(PKG_BUILD_DIR) \ 
     71                        --py-lib-dir=$(PYTHON_LIB_DIR) \ 
     72                        --py-bin-dir=$(PYTHON_BIN_DIR) \ 
     73                        --py-sip-dir=$(STAGING_DIR)/usr/share/sip \ 
    6374        ) 
    6475endef 
     
    7485 
    7586define Build/InstallDev 
    76         $(INSTALL_DIR) $(1)/mk 
     87        $(INSTALL_DIR) $(1)/mk $(1)/$(PYTHON_PKG_DIR) 
    7788        $(INSTALL_DATA) ./files/python-sip-package.mk $(1)/mk/ 
     89        $(CP) $(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR)/* $(1)/$(PYTHON_PKG_DIR) 
    7890endef 
    7991 
     
    98110# ===> HOST <=== 
    99111 
     112HOST_CFLAGS+= \ 
     113        $(HOST_FPIC) \ 
     114        -I$(STAGING_DIR_HOST)/include/python$(PYTHON_VERSION) 
     115 
    100116define Host/Configure 
    101         (       cd "$(HOST_BUILD_DIR)"; \ 
    102                 export PYTHONDONTWRITEBYTECODE=1; \ 
    103                 python -E ./configure.py \ 
     117        $(call HostPython, \ 
     118                cd "$(HOST_BUILD_DIR)"; \ 
     119                , \ 
     120                ./configure.py \ 
    104121                        --bindir=$(STAGING_DIR_HOST)/usr/bin \ 
    105122                        --destdir=$(STAGING_DIR_HOST)/$(PYTHON_PKG_DIR) \ 
     
    108125        ) 
    109126endef 
    110  
    111 HOST_CFLAGS+=$(HOST_FPIC) 
    112127 
    113128define Host/Compile 
     
    130145endef 
    131146 
    132 define Require/python2-dev 
    133   [ -e /usr/include/Python.h ] || \ 
    134   [ -e /usr/include/python/Python.h ] || \ 
    135   [ -e /usr/include/python2.5/Python.h ] || \ 
    136   [ -e /usr/include/python2.6/Python.h ] 
    137 endef 
    138  
    139 #$(eval $(call Require,python2-dev, \ 
    140 #       Please install Python 2.x headers (python-dev) \ 
    141 #)) 
    142  
    143 $(eval $(call RequireCommand,python, \ 
    144         Please install Python 2.x \ 
    145 )) 
    146  
    147147$(eval $(call HostBuild)) 
    148148$(eval $(call BuildPackage,python-sip)) 
  • packages/lang/python-sip/patches/100-cross-compile.patch

    r22691 r23667  
    33 1 file changed, 44 insertions(+), 8 deletions(-) 
    44 
    5 --- sip-4.10.5.orig/configure.py 
    6 +++ sip-4.10.5/configure.py 
    7 @@ -302,6 +302,11 @@ def create_optparser(): 
     5Index: sip-4.10.5/configure.py 
     6=================================================================== 
     7--- sip-4.10.5.orig/configure.py        2010-07-16 16:15:08.000000000 +0200 
     8+++ sip-4.10.5/configure.py     2010-10-26 16:07:37.000000000 +0200 
     9@@ -19,7 +19,6 @@ 
     10 import os 
     11 import glob 
     12 import optparse 
     13-from distutils import sysconfig 
     14  
     15 import siputils 
     16  
     17@@ -193,21 +192,45 @@ 
     18     global plat_py_site_dir, plat_py_inc_dir, plat_py_conf_inc_dir 
     19     global plat_bin_dir, plat_py_lib_dir, plat_sip_dir 
     20  
     21-    # We trust distutils for some stuff. 
     22-    plat_py_site_dir = sysconfig.get_python_lib(plat_specific=1) 
     23-    plat_py_inc_dir = sysconfig.get_python_inc() 
     24-    plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) 
     25- 
     26-    if sys.platform == "win32": 
     27-        plat_py_lib_dir = sys.prefix + "\\libs" 
     28-        plat_bin_dir = sys.exec_prefix 
     29-        plat_sip_dir = sys.prefix + "\\sip" 
     30-    else: 
     31-        lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1) 
     32+    if not opts.crosscompile: 
     33+        # We trust distutils for some stuff. 
     34+        from distutils import sysconfig 
     35+        plat_py_site_dir = sysconfig.get_python_lib(plat_specific=1) 
     36+        plat_py_inc_dir = sysconfig.get_python_inc() 
     37+        plat_py_conf_inc_dir = os.path.dirname(sysconfig.get_config_h_filename()) 
     38+ 
     39+        if sys.platform == "win32": 
     40+            plat_py_lib_dir = sys.prefix + "\\libs" 
     41+            plat_bin_dir = sys.exec_prefix 
     42+            plat_sip_dir = sys.prefix + "\\sip" 
     43+        else: 
     44+            lib_dir = sysconfig.get_python_lib(plat_specific=1, standard_lib=1) 
     45  
     46-        plat_py_lib_dir = lib_dir + "/config" 
     47-        plat_bin_dir = sys.exec_prefix + "/bin" 
     48-        plat_sip_dir = sys.prefix + "/share/sip" 
     49+            plat_py_lib_dir = lib_dir + "/config" 
     50+            plat_bin_dir = sys.exec_prefix + "/bin" 
     51+            plat_sip_dir = sys.prefix + "/share/sip" 
     52+ 
     53+    count = 0 
     54+    if opts.py_site_dir: 
     55+        plat_py_site_dir = opts.py_site_dir 
     56+        count += 1 
     57+    if opts.py_inc_dir: 
     58+        plat_py_inc_dir = opts.py_inc_dir 
     59+        count += 1 
     60+    if opts.py_conf_inc_dir: 
     61+        plat_py_conf_inc_dir = opts.py_conf_inc_dir 
     62+        count += 1 
     63+    if opts.py_lib_dir: 
     64+        plat_py_lib_dir = opts.py_lib_dir 
     65+        count += 1 
     66+    if opts.py_bin_dir: 
     67+        plat_py_bin_dir = opts.py_bin_dir 
     68+        count += 1 
     69+    if opts.py_sip_dir: 
     70+        plat_sip_dir = opts.py_sip_dir 
     71+        count += 1 
     72+    if count != 6 and opts.crosscompile: 
     73+        siputils.error("Need to specify all --py-... options for crosscompile.") 
     74  
     75  
     76 def create_config(module, template, macros): 
     77@@ -302,6 +325,11 @@ 
    878     def store_abspath(option, opt_str, value, parser): 
    979         setattr(parser.values, option.dest, os.path.abspath(value)) 
     
    1787             "[macro+=value]", version=sip_version_str) 
    1888  
    19 @@ -369,9 +374,38 @@ def create_optparser(): 
     89@@ -369,9 +397,62 @@ 
    2090             "are normally installed [default: %s]" % default_sipsipdir) 
    2191     p.add_option_group(g) 
     
    30100+                 callback=store_abspath_file, 
    31101+                 help="Path to a file containing sipconfig macros") 
     102+    g.add_option("--py-site-dir", action="callback", 
     103+                 default=None, dest="py_site_dir", type="string", 
     104+                callback=store_abspath, 
     105+                help="Python site directory") 
     106+    g.add_option("--py-inc-dir", action="callback", 
     107+                 default=None, dest="py_inc_dir", type="string", 
     108+                callback=store_abspath, 
     109+                help="Python include directory") 
     110+    g.add_option("--py-conf-inc-dir", action="callback", 
     111+                 default=None, dest="py_conf_inc_dir", type="string", 
     112+                callback=store_abspath, 
     113+                help="Python config include directory") 
     114+    g.add_option("--py-lib-dir", action="callback", 
     115+                 default=None, dest="py_lib_dir", type="string", 
     116+                callback=store_abspath, 
     117+                help="Python library directory") 
     118+    g.add_option("--py-bin-dir", action="callback", 
     119+                 default=None, dest="py_bin_dir", type="string", 
     120+                callback=store_abspath, 
     121+                help="Python binary directory") 
     122+    g.add_option("--py-sip-dir", action="callback", 
     123+                 default=None, dest="py_sip_dir", type="string", 
     124+                callback=store_abspath, 
     125+                help="Python SIP directory") 
    32126+    p.add_option_group(g) 
    33127+ 
     
    56150     """Create the configuration module module. 
    57151  
    58 @@ -434,14 +468,16 @@ def main(argv): 
     152@@ -382,9 +463,6 @@ 
     153     if py_version < 0x020300: 
     154         siputils.error("This version of SIP requires Python v2.3 or later.") 
     155  
     156-    # Basic initialisation. 
     157-    set_platform_directories() 
     158- 
     159     # Build up the list of valid specs. 
     160     for s in os.listdir(os.path.join(src_dir, "specs")): 
     161         platform_specs.append(s) 
     162@@ -396,6 +474,9 @@ 
     163     p = create_optparser() 
     164     opts, args = p.parse_args() 
     165  
     166+    # Basic initialisation. 
     167+    set_platform_directories() 
     168+ 
     169     # Make sure MacOS specific options get initialised. 
     170     if sys.platform != 'darwin': 
     171         opts.universal = '' 
     172@@ -434,14 +515,16 @@ 
    59173     else: 
    60174         opts.universal = '' 
     
    81195     # Tell the user what's been found. 
    82196     inform_user() 
     197Index: sip-4.10.5/siputils.py 
     198=================================================================== 
     199--- sip-4.10.5.orig/siputils.py 2010-07-16 16:07:33.000000000 +0200 
     200+++ sip-4.10.5/siputils.py      2010-10-26 16:02:14.000000000 +0200 
     201@@ -1026,9 +1026,11 @@ 
     202  
     203         for f in self.optional_list("DEFINES"): 
     204             cppflags.append("-D" + f) 
     205+            print "CPPFLAGS: Adding -D", f 
     206  
     207         for f in self.optional_list("INCDIR"): 
     208             cppflags.append("-I" + _quote(f)) 
     209+            print "CPPFLAGS: Adding -I", _quote(f) 
     210  
     211         libs = [] 
     212  
Note: See TracChangeset for help on using the changeset viewer.