Menu

#3820 release binary lacks lib/src/z80n directory

closed-fixed
None
Build
5
2025-01-31
2025-01-20
No

Checking the content of sdcc-4.5.0-rc2-setup.exe I see that the lib/src/z80n directory and its content doesn't exist there, but it exists in device/lib in sources just like the directory z80 and its content which, however, are in the binary.

Discussion

  • Philipp Klaus Krause

    I can reproduce the issue using the current Windows x86_64 snapshot build installer. The snapshot build .zip, however contains that file. The installer .exe is made using support/scripts/sdcc.nsi, so the bug is probably somewhere in there?

     

    Last edit: Philipp Klaus Krause 2025-01-20
    • Janko Stamenović

      maybe adding these 4 lines (2 actually active) (sorry I can't run and test it, but maybe you can and maybe it solves the issue):

      ~/sdcc-win/base/sdcc-code/sdcc/support/scripts$ svn diff
      Index: sdcc.nsi
      ===================================================================
      --- sdcc.nsi    (revision 15237)
      +++ sdcc.nsi    (working copy)
      @@ -640,6 +640,10 @@
         File "${DEV_ROOT}\lib\src\z80\*.s"
       #  File "${DEV_ROOT}\lib\src\z80\Makefile"
      
      +  SetOutPath "$INSTDIR\lib\src\z80n"
      +  File "${DEV_ROOT}\lib\src\z80n\*.s"
      +#  File "${DEV_ROOT}\lib\src\z80n\Makefile"
      +
         SetOutPath "$INSTDIR\lib\src\z180"
         File "${DEV_ROOT}\lib\src\z180\*.s"
       #  File "${DEV_ROOT}\lib\src\z180\Makefile"
      
       
      • Philipp Klaus Krause

        Yes, looks like this is working.

         
        • Janko Stamenović

          Then I think it's safe to modify the release, as the "deletion lines" in the same script for z80n already matched those that exist for z180, and only these two (or four if counting the commented and the empty) lines were missing.

          Tangentially: I saw that the RC2 build and the snapshots don't depend on additional open source .DLLs anymore, that's amazingly good change to have such binaries in the release.

           
          • Janko Stamenović

            The current list of the DLLs needed for each of the Win x64 binaries, it's only those present in Windows by default, that's really great, as it avoids all problems of distributing and loading open source .dlls and the matching models with main binaries (posix or winthreads and all their dependencies too).

            cc1  ADVAPI32.dll KERNEL32.dll msvcrt.dll USER32.dll
            makebin.exe  KERNEL32.dll msvcrt.dll
            packihx.exe  KERNEL32.dll msvcrt.dll
            s51.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            sdar.exe  KERNEL32.dll msvcrt.dll USER32.dll
            sdas390.exe  KERNEL32.dll msvcrt.dll
            sdas6500.exe  KERNEL32.dll msvcrt.dll
            sdas6808.exe  KERNEL32.dll msvcrt.dll
            sdas8051.exe  KERNEL32.dll msvcrt.dll
            sdasf8.exe  KERNEL32.dll msvcrt.dll
            sdasgb.exe  KERNEL32.dll msvcrt.dll
            sdaspdk13.exe  KERNEL32.dll msvcrt.dll
            sdaspdk14.exe  KERNEL32.dll msvcrt.dll
            sdaspdk15.exe  KERNEL32.dll msvcrt.dll
            sdasrab.exe  KERNEL32.dll msvcrt.dll
            sdasstm8.exe  KERNEL32.dll msvcrt.dll
            sdastlcs90.exe  KERNEL32.dll msvcrt.dll
            sdasz80.exe  KERNEL32.dll msvcrt.dll
            sdcc.exe  KERNEL32.dll msvcrt.dll
            sdcdb.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            sdcpp.exe  ADVAPI32.dll KERNEL32.dll msvcrt.dll USER32.dll
            sdld.exe  KERNEL32.dll msvcrt.dll
            sdld6808.exe  KERNEL32.dll msvcrt.dll
            sdldf8.exe  KERNEL32.dll msvcrt.dll
            sdldgb.exe  KERNEL32.dll msvcrt.dll
            sdldpdk.exe  KERNEL32.dll msvcrt.dll
            sdldstm8.exe  KERNEL32.dll msvcrt.dll
            sdldz80.exe  KERNEL32.dll msvcrt.dll
            sdnm.exe  KERNEL32.dll msvcrt.dll USER32.dll
            sdobjcopy.exe  KERNEL32.dll msvcrt.dll USER32.dll
            sdranlib.exe  KERNEL32.dll msvcrt.dll USER32.dll
            ucsim_51.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_f8.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_m68hc08.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_mos6502.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_pdk.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_rxk.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_stm8.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_tlcs.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            ucsim_z80.exe  KERNEL32.dll msvcrt.dll WS2_32.dll
            

            The list can be obtained by extracting all dll names in the output of objdump -p for each binary, e.g. for cc1:

            objdump -p cc1 | grep -i \.dll | sed 's/DLL Name: //' | sed -E 's/\s+//g' |  tr '\n' ' '
            
             
  • Philipp Klaus Krause

    • status: open --> closed-fixed
    • assigned_to: Philipp Klaus Krause
    • Category: other --> Build
     
  • Philipp Klaus Krause

    This was fixed before the SDCC 4.5.0 release.

     

Log in to post a comment.

MongoDB Logo MongoDB