TailBite V1.4.2 Windows

TailBite specific forum

Moderators: gnozal, ABBKlaus, lexvictory

ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

TailBite V1.4.2 Windows

Post by ABBKlaus »

TailBite is a tool that splits the PureBasic.asm file generated by
PureBasic for Windows from a *.pb source file into several asm files,
and compiles them into a PureBasic library using different tools included
with PureBasic.
Website at http://www.tailbite.com is up and running !

Still searching for contributors making some language files :roll:

Sourceforge SVN : http://tailbite.sourceforge.net/

TailBite supports the following versions of PureBasic:
- PureBasic V4.02 (only if preferences found in TailBite-folder / separate install)
- PureBasic V4.10 (only if preferences found in TailBite-folder / separate install)
- PureBasic V4.20 (with restrictions in string handling - see this thread http://www.purebasic.fr/english/viewtopic.php?t=30840)
- PureBasic V4.30
- PureBasic V4.31

Download it here : TailBite_Installer.exe

Onlinehelp : http://www.tailbite.com/help/index.html

Sources : http://www.tailbite.com/downloads/src.pack

old Sources can be found here : http://www.tailbite.com/downloads

Submitting a bug report :
please start a bug report as a newtopic i.e. "TB1.4.1 shortDescription"


Latest fixes :
[46] JUL 26th 2009 TailBite v1.4.2
- fixed missing decoration bug (found by nco2k)
- added new expand button for the batch options (idea from netmaestro)
[45] JUL 24th 2009 TailBite v1.4.1
- added 100% float & double fix (lexvictory)
- gadget extension: removed old way of including pb lib and added new one (lexvictory)
- Minor changes to allow TailBite to be compiled as a DLL (lexvictory)
(changes just make sure an 'End' command doesn't get compiled into a DLL)
TailBite_DLL.pb is used to build the Dll/so/dylib
Does not need to be included in the installer builder, as it is a developer aimed extra (I plan to add it to my IDE, so I'll keep it up to date)
- added /PREF option to define prefs location (lexvictory)
- updated inc_os_windows to support windows 7 , osversion reports 80 instead of pb_os_windows_future=100 (lexvictory)
- more mac os x fixes (lexvictory)
- TB working (apart from PB bugs) on OS X (lexvictory)
- fixed bug in makepack() could not store zero-byte files / updated TBManager + TBUpdater to support zero-byte files
[44] APR 7th 2009 TailBite v1.4.0
- MultiLib (lexvictory)
- Linux Support added (lexvictory)
- Preliminary OS X support (lexvictory)
- Import "" supported (access PB internals) (lexvictory)
- No search for librarymaker if where expected (PB 4.30) (lexvictory)
- TB_GagdetExtension, TB_Debugger, TB_ImagePlugin added back in as includes (lexvictory)
- TB_Debugger now supports all the new debugger features (expect language file based ones) (lexvictory)
See freak's blog: http://www.purebasic.fr/blog/?p=103
- Samples for the above plugins created (MyDebugErrorPlugin updated) (lexvictory)
- New TailBite directive to add internal PBLibs to .Desc: ;--TB_ADD_PBLIB_LibName to add LibName to .Desc (lexvictory)
- fixed backup of old library when in multilib mode
- added parameter /PREF "Filename" to load user defined preferences
[43] FEB 26th 2009 TailBite V1.3 PR 1.881
- fixed missing Extrn when using @Procedure in datasection
[42] FEB 8th 2009 TailBite V1.3 PR 1.880
- fixed polib.exe not found if 'Don´t build library. only source files' was checked (found by lexvictory)
- fixed import libs where not written to objfiles.txt if 'Don´t build library. only source files' was checked (found by lexvictory)
- added /EXE option to stop pbcompiler running the exe after commented asm output 28.1.2009 2:55 (by lexvictory)
- added lexvictory´s multilib code that makes UNICODE/THREADSAFE/UNICODE+THREADSAFE in one library file
- fixed another extrn bug that has to be commented out (found by mback2k)
[41] DEC 9th 2008 TailBite V1.3 PR 1.879
- fixed RET X + 4 in X64 not needed
- fixed TailBite Warning: Unknown Windows API function (found by mistrel)
- fixed BuildApiList() was causing an invalid memory access error on Peeks()
- fixed FAsm error : reserved keyword used as symbol (found by lexvictory)
- fixed X64 FAsm error : invalid argument ... aligngosub (found by lexvictory)
- fixed tempdir was not cleaned while it was in use
- fixed symbol was removed when named the same as the procedure
- fixed do not extrn symbol that is already public
- fixed endfunctions for X64
[40] OKT 14th 2008 TailBite V1.3 PR 1.878
- fixed X64 Compatibility
- added switch PBVersionX64 to run polib in X64 mode : 'polib.exe /MACHINE:X64'
- added preferences for X64 version 'TailBite_430X64.prefs'
- fixed LibraryMaker.exe : '/COMPRESSED' flag not working in X64 mode
- fixed TBManager.exe : 'Pick current' works now with PB4.30
- fixed LibraryMaker.exe not found in 'Library SDK' it was renamed to 'SDK' now, TailBite will now search trough the whole PureBasic directory !
- fixed another align / pb_align issue
- fixed HtmlCompile : Registry values for X64 added (when TailBite is compiled as 64-Bit executable)
- fixed Inc_TailBite.pb : nAlias is now read as long
- fixed Inc_TailBite.pb : _PB_BSSSection not found
- added X64 ASM-Header is now 'format MS64 COFF'
- added X64 = SYS_InitString / X86 = _SYS_InitString@0
- added Inc_Compiler.pb : ExecuteProgram uses ReadProgramError() to display more info´s on errors
- fixed 'Extrn' will no longer get commented out (found by mpz)
[39] SEP 16th2008 TailBite v1.3 PR 1.877
- fixed LibraryMaker.exe not found error in PureBasic 4.30 Beta 1
- note : SearchDirectory moved from Inc_Tailbite.pb to Inc_Misc.pb
- note : SearchDirectory added parameter Mode=#PB_String_NoCase
[38] MAI 27th 2008 TailBite v1.3 PR 1.876
- fixed GetPBFolder (thanks to ts-soft)
- fixed string bug in exported functions RET X + 4 (thanks to Fred / srod / gnozal)
Note from Gnozal : don't use exported string functions in the library
Forum thread : http://www.purebasic.fr/english/viewtop ... 189#230189
[37] MAI 25th 2008 TailBite v1.3 PR 1.875
- fixed PureBasic PB4.20 final problem with pb_align / pb_bssalign = align (macro´s are the same)
- improved GetPBFolder() reads uninstall information to determine PureBasic installation path (thanks to mistrel)
[36] APR 24th 2008 TailBite v1.3 PR 1.874
- added check for correct subsystem (reported by mistrel)
[35] APR 22th 2008 TailBite v1.3 PR 1.873
- fixed creation of resident (reported by ts-soft)
[34] APR 21th 2008 TailBite v1.3 PR 1.872
- fixed varalias bug (reported by LNA)
- fixed detection of modifiers (reported by Mistrel)
- switched to new sourcecode ordering (Thanks to Progi1984)
[33] MAR 29th 2008 TailBite v1.3 PR 1.871
- added new parameter /VERSION (requested by Droopy)
- fixed recovery of userlib when compiling in unicode and/or threadsafe mode
- improved writelog procedure
- fixed cleaning of temp directory
- added explanation of subsystems to the helpfile
[32] MAR 19th 2008 TailBite v1.3 PR 1.870
- added linked list as paramter (made by Prodi1984)
[31] FEB 29th 2008 TailBite v1.3 PR 1.869
- fixed several small bugs
- added new icon (Thanks to Inf0Byt3)
- added French catalog (Thanks to Flype/Chris/wolfjeremy/Progi1984)
- added German catalog
- added Romanian catalog (Thanks to Infobite)
[30] JAN 31th 2008 TailBite v1.3 PR 1.868
- added batch options (requested by mistrel)
[29] JAN 25th 2008 TailBite v1.3 PR 1.867
- fixed console window flashes no more (found by mistrel)
- added commandline options to the documentation (requested by lexvictory)
[28] JAN 22th 2008 TailBite v1.3 PR 1.866
- added a warning when a library already exists somewhere in the Subsystem folder (found by lexvictory)
- added a warning when .PB extension is not registered correctly and PBCompiler.exe was not found (found by hurga/Dostej)
[27] JAN 3th 2008 TailBite v1.3 PR 1.865
- fixed stack issue when 'Prompt confirm on deletion...' was checked (found by IceSoft)
- fixed mispelling of 'user library already exist.'
[26] JAN 2th 2008 TailBite v1.3 PR 1.864
- TBManager : correction of Subsystem folders (found by IceSoft)
- TBManager : added creation of Subsystem folders
[25] DEC 18th 2007 TailBite v1.3 PR 1.863
- fixed error message when an import lib was not found (found by Mistrel)
- fixed handling of internal libs like 'window.lib' (found by Mistrel)
- fixed some Finishdirectory() missing
[24] DEC 13th 2007 TailBite v1.3 PR 1.862
- fixed some more problems with Labels ?label_data (found by Lna)
- fixed renaming of ASM commands MOV DL,AL / MOV DH,AH / CMP AL,DL (found by Lna)
[23] DEC 12th 2007 TailBite v1.3 PR 1.861
- fixed problem with Labels 'Extrn Libname_l_labelname' (found by Lna)
[22] NOV 22th 2007 TailBite v1.3 PR 1.860
- fixed problem with 'call _SYS_InitString@0' in the _Init function (found by denis)
[21] OKT 17th 2007 TailBite v1.3 PR 1.859
- fixed problem with :Import section (found by srod)
[20] OKT 10th 2007 TailBite v1.3 PR 1.858
- fixed problem with PB folder detection code
[19] SEP 8th 2007 TailBite v1.3 PR 1.857
- fixed problem with asm comments ; ! (found by eddy)
[18] AUG 30th 2007 TailBite v1.3 PR 1.856
- fixed *_Init bug found by nco2k
[17] AUG 23th 2007 TailBite v1.3 PR 1.855
- fixed loading of preferences in the TailBite folder reported by TS-Soft
- new commandline switch /LOGF
Enable creating of TailBite_Logfile.txt and save it into TemporaryDirectory
[16] AUG 22th 2007 TailBite v1.3 PR 1.854
- fixed optional parameters bug reported by TS-Soft
[15] AUG 16th 2007 TailBite v1.3 PR 1.853
- added new commandline parameter for TailBite.exe /LIBN:Libname
the generated lib has the filename "Libname"
- added new commandline parameter for TailBite.exe /OUTP "Path"
the generated lib will be put in the folder "Path"
- added new icons Dog.ico (netmaestro) / s2xr2.ico (Inf0Byt3) / snake.ico (dontmailme)
[14] AUG 13th 2007 TailBite v1.3 PR 1.852
- fixed problem where the PureBasic registry key was not found (nco2k)
- fixed problem with usb-stick installation
[13] AUG 9th 2007 TailBite v1.3 PR 1.851
- fixed install problem where PBCompiler.exe reports version <4.00 (Falco)
[12] AUG 8th 2007 TailBite v1.3 PR 1.850
- fixed LibraryMaker.exe warning when creating libs with strings (/NOUNICODEWARNING)
- fixed small bug where PBSubsystem$ was not set
[11] JUL 11th 2007 TailBite v1.3 PR 1.849
- fixed a bug with the Initfunction
- added function for lazy coders (found by Paul)
ProcedureDLL.l MsgTest3(Line.s,Title.s,Icon.l)
MessageRequester(Title,Line,Icon)
EndProcedure
ProcedureDLL.l MsgTest2(Line.s,Title.s)
MsgTest3(Line,Title,#MB_ICONINFORMATION)
EndProcedure
ProcedureDLL.l MsgTest(Line.s)
MsgTest3(Line,"Hello",#MB_ICONINFORMATION)
EndProcedure
^ ^ ^ ^ ^ ^ ^ ^ ^ those constructs work now ^ ^ ^ ^ ^ ^ ^ ^ ^
and a screenshot of TBManager.exe

Image

Hi El_Choni, hope you are still out there
El_Choni wrote:Hi,

TailBite is a tool that splits the PureBasic.asm file generated by PureBasic 3.81 for Windows from a .pb source file into several ASM files, and compiles them into a PureBasic library using different tools included with PureBasic.

If you don't know what a PureBasic library is, you don't need TailBite. If you know, ask yourself if you really need TailBite ;) Use it for good, and not for evil.

I've uploaded a Preview Version to <a href="http://pureproject.reelmedia.org">Pure Project</a> and <a href="http://www.purearea.net">Pure Area</a>, and I guess it will be available soon from these links.

The old links for downloading TailBite beta versions are still valid, but they have only that: old beta versions, so you should better download the new version from these sites.

Any feedback, suggestions and bug reports are welcome. Regards,
[/url]
Last edited by ABBKlaus on Sun Jul 26, 2009 11:49 pm, edited 20 times in total.
User avatar
Droopy
Enthusiast
Enthusiast
Posts: 658
Joined: Thu Sep 16, 2004 9:50 pm
Location: France
Contact:

Post by Droopy »

Thanks ABBKlaus :wink:
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

Thanks for the update :). I know it doesn't matter too much, but I created a catalog file for romanian.

Download here:
Romanian.catalog

[Edit]

Also, i've revised the old icon and made it look nicer in both 32*32 and 48*48 resolutions.

Download here:
tb_infobite.ico
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

Thanks Inf0Byt3,

i added them in the new version 1.3 PR 1.869 :D
i also added the French catalog and my selfmade german catalog.


Download see first post.

Klaus
Inf0Byt3
PureBasic Fanatic
PureBasic Fanatic
Posts: 2236
Joined: Fri Dec 09, 2005 12:15 pm
Location: Elbonia

Post by Inf0Byt3 »

Thanks ABBKlaus :D.
None are more hopelessly enslaved than those who falsely believe they are free. (Goethe)
El_Choni
TailBite Expert
TailBite Expert
Posts: 1007
Joined: Fri Apr 25, 2003 6:09 pm
Location: Spain

Post by El_Choni »

Congrats ;)

Yes, still out there but with no time to code anything other than PHP, Java, etc. :(

Regards to everybody ;)
El_Choni
traumatic
PureBasic Expert
PureBasic Expert
Posts: 1661
Joined: Sun Apr 27, 2003 4:41 pm
Location: Germany
Contact:

Post by traumatic »

El_Choni! Nice to see you popping up from time to time! :)
Good programmers don't comment their code. It was hard to write, should be hard to read.
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

How would you compile a library with tailbite so that it can use the dx9 subsystem?
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

DoubleDutch wrote:How would you compile a library with tailbite so that it can use the dx9 subsystem?
In the PB-IDE Compiler\Compiler-options\Library Subsystem: enter DirectX9 and click the Ok button.
From the commandline : TailBite.exe "Path to your sourcecode\MySourceCode.pb" /SUBS:Subsystems\DirectX9\PureLibraries\UserLibraries\
From TBManager.exe : choose Subsystems\DirectX9\PureLibraries\UserLibraries\ from the Library subsystem

PS : I have not tested the DirectX9 subsystem with TailBite :oops: you are the first :shock:
User avatar
DoubleDutch
Addict
Addict
Posts: 3220
Joined: Thu Aug 07, 2003 7:01 pm
Location: United Kingdom
Contact:

Post by DoubleDutch »

I tried both making a directX9 version and the test program (to try the lib) with directx9 not selected then selected - it appeared to work.

Then I deleted the directx9 version of the lib, restarted the compiler and then just compiled the text program with directx9 not selected and then selected and it also appeared to work - no difference.

But I did notice that the DirectX9 test was a LOT slower than the DirectX7 version.
https://deluxepixel.com <- My Business website
https://reportcomplete.com <- School end of term reports system
User avatar
Progi1984
Addict
Addict
Posts: 806
Joined: Fri Feb 25, 2005 1:01 am
Location: France > Rennes
Contact:

Post by Progi1984 »

User avatar
ts-soft
Always Here
Always Here
Posts: 5756
Joined: Thu Jun 24, 2004 2:44 pm
Location: Berlin - Germany

Post by ts-soft »

Progi1984 wrote:A bug or a missing feature :
missing feature but you can change the desc-file by hand and recreate
the lib
PureBasic 5.73 | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Old bugs good, new bugs bad! Updates are evil: might fix old bugs and introduce no new ones.
Image
User avatar
Progi1984
Addict
Addict
Posts: 806
Joined: Fri Feb 25, 2005 1:01 am
Location: France > Rennes
Contact:

Post by Progi1984 »

The Feature may be added :
Line 398 of Tailbite.pb, in function "CreateFunctionList(FileStart, FileEnd)"

Replace Line 398 to 430

Code: Select all

        QuitBrackers = 0
        Repeat 
          If *FileSeeker\b = '('  : QuitBrackers + 1 : EndIf
          If *FileSeeker\b = ')'  : QuitBrackers - 1 : EndIf         
          *FileSeeker+1
          If *FileSeeker>=FileEnd:TBError(Language("TailBite","FileEndErr3"), 1, ""):EndIf
        Until *FileSeeker\b = ')' And QuitBrackers = 0
        
        ArgString$ = Trim(PeekS(ArgStart, *FileSeeker-ArgStart))
        If ArgString$<>""
          i = 1
          While Trim(StringField(ArgString$, i, ","))<>""
            ArgPart$ = Trim(StringField(Trim(StringField(ArgString$, i, ",")), 1, "="))
            Select Trim(StringField(ArgPart$, 2, "."))
              Case "l"
                NewArg$ = ", Long"
              Case "f"
                NewArg$ = ", Float"
              Case "w"
                NewArg$ = ", Word"
              Case "b"
                NewArg$ = ", Byte"
              Case "q"
                NewArg$ = ", Quad"
              Case "d"
                NewArg$ = ", Double"
              Case "s"
                NewArg$ = ", String"
              Default
                If Right(ArgPart$, 1)="$"
                  NewArg$ = ", String"
                ElseIf Right(ArgPart$, 2)="()"
                  NewArg$ = ", LinkedList"
                Else
                  NewArg$ = ", Long"
                EndIf
            EndSelect
            If Right(Trim(StringField(ArgPart$, 2, ".")), 2) = "()"
              NewArg$ = ", LinkedList"
            EndIf
            Args$ + NewArg$
            i+1
          Wend
ABBKlaus
Addict
Addict
Posts: 1143
Joined: Sat Apr 10, 2004 1:20 pm
Location: Germany

Post by ABBKlaus »

The fix is added :wink: Thanks for that, i hope it works :P
User avatar
Progi1984
Addict
Addict
Posts: 806
Joined: Fri Feb 25, 2005 1:01 am
Location: France > Rennes
Contact:

Post by Progi1984 »

Woah ! Don't you have tested ?

THis fix corrects the detection of a linked list....
Some fixes :
#1 : test if with mutiples linked lists in parameters that run.
#2 : draw correctly parameter
#3 : draw correctly help (in bottom of IDE)
Post Reply