Author Topic: About bldlevel  (Read 915 times)

Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 20
  • Posts: 306
    • View Profile
Re: About bldlevel
« Reply #15 on: September 14, 2019, 10:47:43 am »
2Martin: Build Level is just a special string embedded into the binary. Yuri Prokushev researched its format and wrote a doc about it:

http://osfree.org/doku/en:docs:os2:bld:index

Also, he reimplemented bldlevel.exe in REXX:

https://github.com/osfree-project/osfree/blob/master/OS2/CMD/bldlevel/bldlevel.rexx

The buildlevel.exe file you mentioned above is converted from bldlevel.rexx via RexxWrapper (http://rexxwrapper.sourceforge.net/, written by Mark Hessling)

BTW, you can embed the build level string in any file. For example, QSINIT is a plain COM file, but its "os2ldr" contains the build level information. It's just a special string embedded into the binary. AFAIK, in LX/NE executables, it is contained in entry table, if I'm not wrong.

Pete

  • Hero Member
  • *****
  • Thank You
  • -Given: 1
  • -Receive: 36
  • Posts: 843
    • View Profile
Re: About bldlevel
« Reply #16 on: September 14, 2019, 03:13:39 pm »
Hi Valery

Just had a play with bldlevel.rexx - copied the file to bldlvl.cmd and ran it in an os2 window.

Not very encouraging as all it reports is:-

SYS0317: The system cannot find message  xxxx
in message file OSO001.MSG.

where xxxx is a choice of 8069, 8070, 8073,  8075.

Looks like either I am not using the rexx file correctly or it is looking for non-existent messages in OSO001.MSG.


Regards

Pete


Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Thank You
  • -Given: 398
  • -Receive: 79
  • Posts: 2383
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: About bldlevel
« Reply #17 on: September 14, 2019, 06:55:46 pm »
Hi Pete

I have a copy of OSO001.MSG right here.

regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Pete

  • Hero Member
  • *****
  • Thank You
  • -Given: 1
  • -Receive: 36
  • Posts: 843
    • View Profile
Re: About bldlevel
« Reply #18 on: September 14, 2019, 08:12:28 pm »
Hi Martin

As the .msg file exists it seems that the messages bldlevel.rexx wants to display do not exist in the .msg file.


Regards

Pete

Valery Sedletski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 0
  • -Receive: 20
  • Posts: 306
    • View Profile
Re: About bldlevel
« Reply #19 on: September 15, 2019, 04:49:29 am »
2Pete: It seems, bldlevel.rexx requires osFree version of oso001.msg. It is an extension of standard OS/2 version.
You can download oso001.msg, oso001h.msg and oso001.txt (message file source) from ftp://osfree.org/upload/.

PS: If you don't want to touch your oso001.msg, you can modify the script, so that it will bear messages in its body,
instead of a message file.
« Last Edit: September 15, 2019, 05:14:00 am by Valery Sedletski »

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 11
  • -Receive: 149
  • Posts: 2147
    • View Profile
Re: About bldlevel
« Reply #20 on: September 15, 2019, 06:52:15 am »
Just use AddToFile.cmd from David Azarewicz
https://88watts.net/software.html

Regards
Rémy

That's to simplify adding the bldlevel info during building.

It does make things simple though. Adding bldlevel to the screensaver modules example,
makefile changes,
Code: [Select]
diff --git a/Modules/AnTVSim/makefile b/Modules/AnTVSim/makefile
index 0516f49..000ad0b 100644
--- a/Modules/AnTVSim/makefile
+++ b/Modules/AnTVSim/makefile
@@ -31,6 +31,8 @@ dllflags = -bd
 cflags = $(debugflags) -bm -bt=OS2 -6s -fpi87 -fp6 -sg -otexanr -wx

 .before
+    rm -f description.lnk
+    ..\..\AddToFile.cmd description.lnk,option description,BLDLEVEL,DSS,1.80,Analogue TV Simulator - ScreenSaver module,24
     set include=$(%os2tk)\h;$(%include);..\..

 .extensions:
@@ -44,7 +46,7 @@ $(dllname).dll: $(object_files)
     wcc386 $[* $(dllflags) $(cflags)

 .obj.dll : .AUTODEPEND
-    wlink @$(dllname)
+    wlink @$(dllname) @description
 !ifdef has_resource_file
     rc $(rcname) $(dllname).dll
 !endif
output
Code: [Select]
Build Level Display Facility Version 6.12.675 Sep 25 2001
(C) Copyright IBM Corporation 1993-2001
Signature:       @#DSS:1.80#@##1## 14 Sep 2019 21:28:45     ARCAOS-C02::::::24@@
Analogue TV Simulator - ScreenSaver module
Vendor:          DSS
Revision:        1.80
Date/Time:       14 Sep 2019 21:28:45
Build Machine:   ARCAOS-C02
FixPak Version:  24
File Version:    1.80
Description:     Analogue TV Simulator - ScreenSaver module

Never even bothered to remove the OPTION DESCRIPTION line from AnTVSim.lnk (no def file)
Do have to think about the best vendor string and wonder about ASD.