From 61f2968761a2280940d7d56701dc92b9b0325765 Mon Sep 17 00:00:00 2001 From: Joerg Koenig Date: Tue, 21 May 2019 08:27:06 +0200 Subject: Creating GNU import libraries from MSVC DLLs Change-Id: I374dad6b8d11b1a6a85ac0d46cc8498ffb7b4ee1 --- Jenkinsfile | 43 ++++++++++++++++++++++++++++++++----------- Makefile | 5 +++++ 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0d09988..afcb617 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,12 +29,12 @@ stage('Build') { submoduleCfg: [], userRemoteConfigs: [[url: REPO]]]) - stage("32 Bit Build") { + stage("Linux 32 Bit Build") { sh '''#!/bin/bash GCC_PATH=/master/DEV-Tools/gcc-suite/1.2.0-125/x86-linux/gcc-8.2.0 make -f Makefile.x86-linux ''' } - stage("64 Bit Build") { + stage("Linux 64 Bit Build") { sh '''#!/bin/bash GCC_PATH=/master/DEV-Tools/gcc-suite/1.2.0-125/x86-linux64/gcc-8.2.0 make ''' @@ -54,7 +54,7 @@ stage('Build') { submoduleCfg: [], userRemoteConfigs: [[url: REPO]]]) - stage ("32 Bit Build") { + stage ("Windows 32 Bit Build") { bat '''@echo off set SDKDIR=C:\\dev-tools\\WinSDK\\VS2019BT\\ set NASMDIR=C:\\dev-tools\\nasm\\2.12.01_32\\ @@ -71,7 +71,7 @@ stage('Build') { sh.exe -c "rm -f openssl-1.0.2r/NUL" sh.exe -c "rm -Rf openssl-1.0.2r*" ''' - stage ("64 Bit Build") { + stage ("Windows 64 Bit Build") { bat '''@echo off set SDKDIR=C:\\dev-tools\\WinSDK\\VS2019BT\\ set NASMDIR=C:\\dev-tools\\nasm\\2.12.01_64 @@ -101,16 +101,37 @@ stage ("Post processing") { node('bslp02-centos6-64') { unstash name: 'qtwin' sh ''' - rm -Rf $WORKSPACE/INST QT_VER=5.12.3 + # + # remove temporary folder ... + rm -Rf $WORKSPACE/tmp + BASE_PATH=$WORKSPACE/tmp/$QT_VER/x86-msvc + mkdir -p $BASE_PATH + unzip -o $WORKSPACE/qt-$QT_VER-x86-msvc.zip -d $BASE_PATH + rm -f $WORKSPACE/qt-$QT_VER-x86-msvc.zip + make GCC_PATH=/master/DEV-Tools/gcc-suite/1.2.0-125/x86-linux/xgcc-8.2.0-mingw DLL_DIR=$BASE_PATH/bin XPREFIX=i686-w64-mingw32- LIBDIR=$BASE_PATH/lib dll2a + BASE_PATH=$WORKSPACE/tmp/$QT_VER/x86_64-msvc + mkdir -p $BASE_PATH + unzip -o $WORKSPACE/qt-$QT_VER-x86_64-msvc.zip -d $BASE_PATH + rm -f $WORKSPACE/qt-$QT_VER-x86_64-msvc.zip + make GCC_PATH=/master/DEV-Tools/gcc-suite/1.2.0-125/x86-linux64/xgcc-8.2.0-mingw DLL_DIR=$BASE_PATH/bin XPREFIX=x86_64-w64-mingw32- LIBDIR=$BASE_PATH/lib dll2a + # + # cleanup temporary destination folder for final distribution ... + rm -Rf $WORKSPACE/INST + # + # unpack Linux archives ... mkdir -p $WORKSPACE/INST/$QT_VER/x86-linux - tar -xzf $WORKSPACE/qt-$QT_VER-x86-linux.tgz -C $WORKSPACE/INST/5.12.3/x86-linux + tar -xzf $WORKSPACE/qt-$QT_VER-x86-linux.tgz -C $WORKSPACE/INST/$QT_VER/x86-linux + rm -f $WORKSPACE/qt-$QT_VER-x86-linux.tgz mkdir -p $WORKSPACE/INST/$QT_VER/x86-linux64 - tar -xzf $WORKSPACE/qt-$QT_VER-x86-linux64.tgz -C $WORKSPACE/INST/5.12.3/x86-linux64 - mkdir -p $WORKSPACE/INST/$QT_VER/x86-msvc - unzip -o $WORKSPACE/qt-$QT_VER-x86-msvc.zip -d $WORKSPACE/INST/$QT_VER/x86-msvc - mkdir -p $WORKSPACE/INST/$QT_VER/x86_64-msvc - unzip -o $WORKSPACE/qt-$QT_VER-x86_64-msvc.zip -d $WORKSPACE/INST/$QT_VER/x86-msvc + tar -xzf $WORKSPACE/qt-$QT_VER-x86-linux64.tgz -C $WORKSPACE/INST/$QT_VER/x86-linux64 + rm -f $WORKSPACE/qt-$QT_VER-x86-linux64.tgz + mv $WORKSPACE/tmp/$QT_VER/* $WORKSPACE/INST/ + # + # remove temporary folder ... + rm -Rf $WORKSPACE/tmp + # + # finally create the whole archive ... cd $WORKSPACE/INST && tar -zcf $WORKSPACE/qt-$QT_VER-bin.tgz ./ rm -Rf $WORKSPACE/INST ''' diff --git a/Makefile b/Makefile index ffd7e6c..7ae9130 100644 --- a/Makefile +++ b/Makefile @@ -157,3 +157,8 @@ merge: clean: rm -Rf build.$(ARCH) rm -Rf install.$(ARCH) + +dll2a: + for d in $(DLL_DIR)/*.dll; do \ + $(GCC_PATH)/bin/$(XPREFIX)dll2a $$d -l $(LIBDIR) ; \ + done; -- cgit v0.12