Skip to content
Snippets Groups Projects
Commit 404e8215 authored by Vicki Pfau's avatar Vicki Pfau
Browse files

travis: Build Win32 and Py3.5 images

parent 057bf3dc
No related branches found
No related tags found
No related merge requests found
...@@ -17,6 +17,18 @@ osx_image: xcode8 ...@@ -17,6 +17,18 @@ osx_image: xcode8
matrix: matrix:
include: include:
- os: linux
env:
- CROSS=win32
- PYVER=3.5
- os: linux
env:
- CROSS=win32
- PYVER=3.6
- os: linux
env:
- CROSS=win64
- PYVER=3.5
- os: linux - os: linux
env: env:
- CROSS=win64 - CROSS=win64
......
...@@ -49,8 +49,13 @@ if(APPLE) ...@@ -49,8 +49,13 @@ if(APPLE)
set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}") set(LUA_INCLUDE_DIRS "${LUA_INCLUDE_DIR}")
else() else()
set(LUA_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/third-party/luajit/src") set(LUA_INCLUDE_DIRS "${CMAKE_SOURCE_DIR}/third-party/luajit/src")
if(NOT CMAKE_HOST_SYSTEM_NAME STREQUAL CMAKE_SYSTEM_NAME) if(CMAKE_CROSSCOMPILING)
set(LUA_FLAGS HOST_CC=gcc CROSS="${cross_prefix}" TARGET_SYS="${CMAKE_SYSTEM_NAME}") if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(BITS 64)
else()
set(BITS 32)
endif()
set(LUA_FLAGS "HOST_CC=gcc -m${BITS}" CROSS="${cross_prefix}" TARGET_SYS="${CMAKE_SYSTEM_NAME}")
endif() endif()
set(LUA_LIBRARY "${LUA_INCLUDE_DIRS}/libluajit.a") set(LUA_LIBRARY "${LUA_INCLUDE_DIRS}/libluajit.a")
add_custom_command(OUTPUT "${LUA_LIBRARY}" add_custom_command(OUTPUT "${LUA_LIBRARY}"
......
...@@ -4,9 +4,9 @@ SHELL ["/bin/bash", "-c"] ...@@ -4,9 +4,9 @@ SHELL ["/bin/bash", "-c"]
ENV PYVER=3.5 ENV PYVER=3.5
RUN apt-get update && \ RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
build-essential ccache cmake curl git libffi-dev libz-mingw-w64-dev \ build-essential ccache cmake curl g++-multilib gcc-multilib git \
mingw-w64 p7zip-full pkg-config software-properties-common unzip \ libffi-dev libz-mingw-w64-dev mingw-w64 p7zip-full pkg-config \
zip && \ software-properties-common unzip zip && \
apt-get clean apt-get clean
RUN apt-add-repository -y ppa:deadsnakes/ppa && \ RUN apt-add-repository -y ppa:deadsnakes/ppa && \
...@@ -33,6 +33,12 @@ WORKDIR /root ...@@ -33,6 +33,12 @@ WORKDIR /root
COPY scripts scripts COPY scripts scripts
COPY cmake cmake COPY cmake cmake
COPY third-party/libzip libzip COPY third-party/libzip libzip
RUN CROSS=win64 ROOT=/usr/x86_64-w64-mingw32 ./scripts/build_deps.sh
RUN CROSS=win32 ROOT=/usr/i686-w64-mingw32 ./scripts/install_python.sh && \
CROSS=win64 ROOT=/usr/x86_64-w64-mingw32 ./scripts/install_python.sh
RUN CROSS=win32 ROOT=/usr/i686-w64-mingw32 ./scripts/build_libzip.sh && \
CROSS=win64 ROOT=/usr/x86_64-w64-mingw32 ./scripts/build_libzip.sh && \
rm -rf libzip
ENTRYPOINT ["bash", "-lc", "exec $0 $@"] ENTRYPOINT ["bash", "-lc", "exec $0 $@"]
set(CMAKE_SYSTEM_NAME Windows CACHE INTERNAL "system name")
set(CMAKE_SYSTEM_PROCESSOR i686)
set(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
set(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
set(CMAKE_PREFIX_PATH /usr/i686-w64-mingw32/)
set(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32/)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(cross_prefix i686-w64-mingw32-)
set(link_flags "-static-libgcc -static-libstdc++")
set(PYTHON_LIBRARY /usr/i686-w64-mingw32/lib/python$ENV{PYVER}/libpython.a)
set(PYTHON_INCLUDE_DIR /usr/i686-w64-mingw32/include/python$ENV{PYVER}/)
set(CMAKE_EXE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "exe link flags")
set(CMAKE_MODULE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "module link flags")
set(CMAKE_SHARED_LINKER_FLAGS "${link_flags} -Wl,--export-all-symbols" CACHE INTERNAL "shared link flags")
add_definitions(-DHAVE_INTPTR_T -DHAVE_UINTPTR_T)
set(CMAKE_SYSTEM_NAME Windows CACHE INTERNAL "system name") set(CMAKE_SYSTEM_NAME Windows CACHE INTERNAL "system name")
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc) set(CMAKE_C_COMPILER x86_64-w64-mingw32-gcc)
set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++) set(CMAKE_CXX_COMPILER x86_64-w64-mingw32-g++)
set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres) set(CMAKE_RC_COMPILER x86_64-w64-mingw32-windres)
...@@ -12,9 +13,10 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) ...@@ -12,9 +13,10 @@ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(cross_prefix x86_64-w64-mingw32-) set(cross_prefix x86_64-w64-mingw32-)
set(link_flags "-static-libgcc -static-libstdc++") set(link_flags "-static-libgcc -static-libstdc++")
set(PYTHON_LIBRARY /usr/x86_64-w64-mingw32/lib/python3.6/libpython.a) set(PYTHON_LIBRARY /usr/x86_64-w64-mingw32/lib/python$ENV{PYVER}/libpython.a)
set(PYTHON_INCLUDE_DIR /usr/x86_64-w64-mingw32/include/python3.6/) set(PYTHON_INCLUDE_DIR /usr/x86_64-w64-mingw32/include/python$ENV{PYVER}/)
set(CMAKE_EXE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "exe link flags") set(CMAKE_EXE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "exe link flags")
set(CMAKE_MODULE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "module link flags") set(CMAKE_MODULE_LINKER_FLAGS ${link_flags} CACHE INTERNAL "module link flags")
set(CMAKE_SHARED_LINKER_FLAGS "${link_flags} -Wl,--export-all-symbols" CACHE INTERNAL "shared link flags") set(CMAKE_SHARED_LINKER_FLAGS "${link_flags} -Wl,--export-all-symbols" CACHE INTERNAL "shared link flags")
add_definitions(-DHAVE_INTPTR_T -DHAVE_UINTPTR_T)
...@@ -15,5 +15,3 @@ make -j2 install ...@@ -15,5 +15,3 @@ make -j2 install
cd .. cd ..
rm -rf build-$CROSS rm -rf build-$CROSS
popd popd
$BASE/scripts/install_python.sh
...@@ -9,11 +9,21 @@ win64) ...@@ -9,11 +9,21 @@ win64)
;; ;;
esac esac
curl -LO https://www.python.org/ftp/python/3.6.4/$PLATFORM/dev.msi function install_python {
7z x dev.msi local MAJOR=$1
mkdir -p $ROOT/lib/python3.6 include local MINOR=$2
mv libs_python.lib $ROOT/lib/python3.6/python36.lib local PATCH=$3
mv libs_python_stable.lib $ROOT/lib/python3.6/python3.lib
mv libs_libpython.a $ROOT/lib/python3.6/libpython.a curl -LO https://www.python.org/ftp/python/$MAJOR.$MINOR.$PATCH/$PLATFORM/dev.msi
find . -maxdepth 1 -name include_\*.h -print0 | xargs -0 -n1 -I% bash -c 'mv % $(echo % | sed -e "s,_,/,")' 7z x dev.msi
mv include $ROOT/include/python3.6 mkdir -p $ROOT/lib/python$MAJOR.$MINOR include
mv libs_python.lib $ROOT/lib/python$MAJOR.$MINOR/python$MAJOR$MINOR.lib
mv libs_python_stable.lib $ROOT/lib/python$MAJOR.$MINOR/python$MAJOR.lib
mv libs_libpython.a $ROOT/lib/python$MAJOR.$MINOR/libpython.a
find . -maxdepth 1 -name include_\*.h -print0 | xargs -0 -n1 -I% bash -c 'mv % $(echo % | sed -e "s,_,/,")'
mv include $ROOT/include/python$MAJOR.$MINOR
rm dev.msi
}
install_python 3 5 4
install_python 3 6 4
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment