]> granicus.if.org Git - nethack/commitdiff
Added MSDOS build and made improvements to pipeline configuration.
authorBart House <bart@barthouse.com>
Wed, 16 Dec 2020 08:43:59 +0000 (00:43 -0800)
committerBart House <bart@barthouse.com>
Wed, 16 Dec 2020 08:43:59 +0000 (00:43 -0800)
azure-pipelines.yml

index eb3fcef13300b7c50bfb3599fc34abf3b63df505..188c39bbcbc3629d68e70709ef682640244dd590 100644 (file)
@@ -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'