Procházet zdrojové kódy

Fix build on linux

Bo Yang před 7 roky
rodič
revize
7494c05885
2 změnil soubory, kde provedl 32 přidání a 4 odebrání
  1. 1 1
      .travis.yml
  2. 31 3
      config.sh

+ 1 - 1
.travis.yml

@@ -61,7 +61,7 @@ before_install:
 install:
     # Maybe get and clean and patch source
     - clean_code $REPO_DIR $BUILD_COMMIT
-    - build_wheel $REPO_DIR $PLAT
+    - build_wheel $REPO_DIR/python $PLAT
 
 script:
     - install_run $PLAT

+ 31 - 3
config.sh

@@ -4,9 +4,37 @@
 function pre_build {
     # Any stuff that you need to do before you start building the wheels
     # Runs in the root directory of this repository.
-    pwd
-    ls
-    cd protobuf/python
+    pushd protobuf
+
+    # Build protoc
+    ./autogen.sh
+    ./configure
+
+    CXXFLAGS="-fPIC -g -O2" ./configure
+    make -j8
+
+    # Generate python dependencies.
+    pushd python
+    python setup.py build_py
+    popd
+
+    popd
+}
+
+function bdist_wheel_cmd {
+    # Builds wheel with bdist_wheel, puts into wheelhouse
+    #
+    # It may sometimes be useful to use bdist_wheel for the wheel building
+    # process.  For example, versioneer has problems with versions which are
+    # fixed with bdist_wheel:
+    # https://github.com/warner/python-versioneer/issues/121
+    local abs_wheelhouse=$1
+    python setup.py bdist_wheel --cpp_implementation --compile_static_extension
+    cp dist/*.whl $abs_wheelhouse
+}
+
+function build_wheel {
+    build_wheel_cmd "bdist_wheel_cmd" $@
 }
 
 function run_tests {