From: Bart House Date: Wed, 16 Dec 2020 08:43:59 +0000 (-0800) Subject: Added MSDOS build and made improvements to pipeline configuration. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3a91d65bb648c5a66d0384789064ed10e1055843;p=nethack Added MSDOS build and made improvements to pipeline configuration. --- diff --git a/azure-pipelines.yml b/azure-pipelines.yml index eb3fcef13..188c39bbc 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -2,50 +2,46 @@ strategy: matrix: linux_focal_gcc8_minimal: imageName: 'ubuntu-20.04' - ccName: gcc-8 - cxxName: g++-8 - buildMinimalSetting: true + toolchainName: gcc8 + buildTargetName: minimal linux_focal_clang_all: imageName: 'ubuntu-20.04' - ccName: clang - cxxName: clang++ - buildMinimalSetting: false + toolchainName: clang + buildTargetName: all linux_focal_gcc8_all: imageName: 'ubuntu-20.04' - ccName: gcc-8 - cxxName: g++-8 - buildMinimalSetting: false + toolchainName: gcc8 + buildTargetName: all linux_focal_gcc9_all: imageName: 'ubuntu-20.04' - ccName: gcc-9 - cxxName: g++-9 - buildMinimalSetting: false + toolchainName: gcc9 + buildTargetName: all linux_bionic_gcc7_all: imageName: 'ubuntu-18.04' - ccName: gcc-7 - cxxName: g++-7 - buildMinimalSetting: false + toolchainName: gcc7 + buildTargetName: all # build is currently broken # mac_catalina_gcc8_all: # imageName: 'macOS-10.15' # ccName: gcc-8 # cxxName: g++-8 -# buildMinimalSetting: false +# buildSetting: 'all' mac_catalina_clang_all: imageName: 'macOS-10.15' - ccName: clang - cxxName: clang++ - buildMinimalSetting: false + toolchainName: clang + buildTargetName: all windows-visualstudio: imageName: 'windows-2019' - buildMinimalSetting: false - vsBuildSetting: true - mingwBuildSetting: false + toolchainName: vs + buildTargetName: all windows-mingw: imageName: 'windows-2019' - buildMinimalSetting: false - vsBuildSetting: false - mingwBuildSetting: true + toolchainName: mingw + buildTargetName: all + linux_focal_cross_msdos: + imageName: 'ubuntu-20.04' + toolchainName: cross + buildTargetName: msdos pool: vmImage: $(imageName) @@ -59,55 +55,78 @@ pool: # endpoint: github.com_barthouse variables: - buildMinimal: $(buildMinimalSetting) - mingwBuild: $(mingwBuildSetting) - vsBuild: $(vsBuildSetting) - ${{ if eq( variables['Agent.OS'], 'Windows_NT') }}: - NetHackPath: s\NetHack - ${{ if ne( variables['Agent.OS'], 'Windows_NT') }}: - NetHackPath: s/NetHack - CC: $(ccName) - CXX: $(cxxName) + toolchain: $(toolchainName) + buildTarget: $(buildTargetName) + netHackPath: s/NetHack steps: -# - bash: | -# echo 'mingwBuildSetting' '$(mingwBuildSetting)' -# echo 'mingwBuild' '$(mingwBuild)' -# echo 'vsBuild' '$(vsBuild)' -# echo 'NetHackPath' '$(NetHackPath)' -# echo 'CC' '$(CC)' -# echo 'CXX' '$(CXX)' - -- checkout: git://NetHack/NetHack@NetHack-3.7 # $(Agent.BuildDirectory)\s\NetHack - submodules: true - path: $(NetHackPath) +- bash: | + if [ "$(toolchain)" == "gcc7" ] + then + echo "##vso[task.setvariable variable=CC]gcc-7" + echo "##vso[task.setvariable variable=CXX]g++-7" + fi + if [ "$(toolchain)" == "gcc8" ] + then + echo "##vso[task.setvariable variable=CC]gcc-8" + echo "##vso[task.setvariable variable=CXX]g++-8" + fi + if [ "$(toolchain)" == "gcc9" ] + then + echo "##vso[task.setvariable variable=CC]gcc-9" + echo "##vso[task.setvariable variable=CXX]g++-9" + fi + if [ "$(toolchain)" == "gcc10" ] + then + echo "##vso[task.setvariable variable=CC]gcc-10" + echo "##vso[task.setvariable variable=CXX]g++-10" + fi + if [ "$(toolchain)" == "clang" ] + then + echo "##vso[task.setvariable variable=CC]clang" + echo "##vso[task.setvariable variable=CXX]clang++" + fi + if [ "$(toolchain)" == "cross" ] + then + echo "##vso[task.setvariable variable=CC]gcc-8" + echo "##vso[task.setvariable variable=CXX]g++-8" + fi + displayName: 'Setting variables' -# - checkout: pdcursesrepo -# path: s\NetHack\lib\pdcurses -# condition: and( eq( variables['Agent.OS'], 'Windows_NT' ), eq( variables.mingwBuild, true)) +- bash: | + echo "toolchain: $(toolchain)" + echo "buildTarget: $(buildTarget)" + echo "netHackPath: $NETHACKPATH" + echo "CC: $CC" + echo "CXX: $CXX" + displayName: 'Echoing variables' + +- checkout: git://NetHack/NetHackTest@pipeline-test + submodules: true + path: $(netHackPath) # $(Agent.BuildDirectory)/$(netHackPath) - task: DownloadSecureFile@1 name: storeKey - displayName: 'Store Key Download' inputs: secureFile: 'NetHackPackage_StoreKey.pfx' - condition: eq( variables['Agent.OS'], 'Windows_NT' ) + condition: eq( variables.toolchain, 'vs' ) + displayName: 'Store Key Download' - task: CopyFiles@2 inputs: contents: NetHackPackage_StoreKey.pfx SourceFolder: $(Agent.TempDirectory) - TargetFolder: $(Agent.BuildDirectory)\s\NetHack\win\win32\vs - condition: eq( variables['Agent.OS'], 'Windows_NT' ) + TargetFolder: $(Agent.BuildDirectory)/$(netHackPath)/win/win32/vs + condition: eq( variables.toolchain, 'vs' ) displayName: 'Copying store key' - task: MSBuild@1 inputs: - solution: $(Agent.BuildDirectory)\s\NetHack\win\win32\vs\NetHack.sln + solution: $(Agent.BuildDirectory)/$(netHackPath)/win/win32/vs/NetHack.sln platform: Win32 configuration: Debug - condition: and( eq( variables['Agent.OS'], 'Windows_NT' ), eq( variables.vsBuild, true)) - displayName: 'Windows MSBuild' + condition: eq( variables.toolchain, 'vs' ) + displayName: 'Visual Studio Build' - bash: | export ADD_LUA=Y @@ -120,17 +139,27 @@ steps: export TRAVIS_COMPILER=1 cp ../sys/winnt/Makefile.gcc ./Makefile mingw32-make LUA_VERSION=$LUA_VERSION install - condition: and( eq( variables['Agent.OS'], 'Windows_NT' ), eq( variables.mingwBuild, true)) - displayName: 'Windows MinGW Build' - workingDirectory: $(Agent.BuildDirectory)/s/NetHack/src + condition: eq( variables.toolchain, 'mingw' ) + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath)/src + displayName: 'MinGW Build' - bash: | sudo apt-get -qq -y update sudo apt-get -qq -y install libncurses5-dev sudo apt-get -qq -y install libx11-dev libxaw7-dev xfonts-utils qtbase5-dev qtmultimedia5-dev qtbase5-dev-tools condition: eq( variables['Agent.OS'], 'Linux' ) + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath) displayName: 'Getting linux build dependencies' - workingDirectory: $(Agent.BuildDirectory)/s/NetHack + +- bash: | + cd sys/unix + sh setup.sh hints/linux.2020 + cd ../.. + make fetch-lua + make WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc all + condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildTarget, 'all')) + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath) + displayName: 'Building linux full build' - bash: | cd sys/unix @@ -155,29 +184,31 @@ steps: sed -i '/^#define SHELL/d' include/unixconf.h sed -i '/^#define SUSPEND/d' include/unixconf.h sed -i 's/^#define TEXTCOLOR//' include/unixconf.h - cat include/config.h make fetch-lua make WANT_WIN_ALL=1 all - condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildMinimal, true)) + condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildTarget, 'minimal')) displayName: 'Building linux minimal build' - workingDirectory: $(Agent.BuildDirectory)/s/NetHack + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath) - bash: | cd sys/unix - sh setup.sh hints/linux.2020 + sh setup.sh hints/macos.2020 cd ../.. make fetch-lua - make WANT_WIN_ALL=1 QT_SELECT=5 MOC=moc all - condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.buildMinimal, false)) - displayName: 'Building linux full build' - workingDirectory: $(Agent.BuildDirectory)/s/NetHack + make all + condition: eq( variables['Agent.OS'], 'Darwin' ) + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath) + displayName: 'Building mac full build' - bash: | + export GCCVER=gcc1010 cd sys/unix - sh setup.sh hints/macos.2020 + sh setup.sh hints/linux.2020 cd ../.. make fetch-lua - make all - condition: eq( variables['Agent.OS'], 'Darwin' ) - displayName: 'Mac Build' - workingDirectory: $(Agent.BuildDirectory)/s/NetHack + sh sys/msdos/fetch-cross-compiler.sh + make LUA_VERSION=5.4.2 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 all + make LUA_VERSION=5.4.2 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 CROSS_TO_MSDOS=1 package + condition: and(eq( variables['Agent.OS'], 'Linux' ), eq( variables.toolchain, 'cross')) + workingDirectory: $(Agent.BuildDirectory)/$(netHackPath) + displayName: 'Building MSDOS build'