TailBite
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.
V1.4.0 : TailBite_installer + src.pack + TailBite.pack
SVN Repository : http://sourceforge.net/svn/?group_id=252593
Based on this version of El-Choni´s TailBite V1.3PR1.8
Compatible with PureBasic version 4.02/4.10/4.20/4.30/4.31/Japbe
Online Help
History :
[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 12th 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) - fixed TBUpdater was broken [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 16th 2008 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/viewtopic.php?p=230189#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 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 ^ ^ ^ ^ ^ ^ ^ ^ ^ [10] JUL 9th 2007 TailBite v1.3 PR 1.848 - should be more VISTA compatible now (TailBite_Intstaller.exe + TBUpdater.exe now request administrator mode) - fixed : the preferences are loaded correctly now - fixed : under some conditions the Compilers folder could be deleted - added : Subsystem now changes accordingly to the checkboxes [9] JUN 8th/9th 2007 - more language strings added - For Vista compatibility nothing is written in the TailBite dir anymore - The Preferences location was moved to #CSIDL_APPDATA\TailBite\TailBite.prefs - The Library sources location was moved to #CSIDL_PERSONAL\TailBite Library Sources\ - Version information is stored in the exes directly rather than in prefs file - when TailBite.prefs is found in current folder it will be used (old mode) [8] JUN 5th 2007 - new multiple languages support added (english.catalog is standard now) [7] JUN 2th 2007 - new TBManager option for Subsystem - new command for Tailbite /SUBS:Subsystempath [6] MAI 19th 2007 - tailbite does not quit anymore on this POLIB: warning: '__NULL_IMPORT_DESCRIPTOR' already defined in ... ignoring - PB-Libs are now written in the .desc file i.e. OLE32.DLL , UUID.DLL (ts-soft) - fixed "TailBite warning: Unknown Windows API function" now there are 2 more versions *A for ANSI *W for Unicode in the API-List - TailBite parameter /CHM:helpfile.chm changed to /CHM:helpfile [without .chm] (ts-soft) - Systemlibs like ODBCCP32.DLL/SQLConfigDataSource_() are working again (ts-soft) - fixed endless loop in the ImportFunction [5] APR 15th 2007 - fixed ImportLib not found / quikchelp bug / DIV bug [4] APR 12th 2007 - fixed small bug with calling procedures (It seems if you call a procedure by pointer once you can't call it by name after that). [3] JAN 13th 2007 - fixed the quick-help bug in TailBite [2] NOV 30th 2006 - Div64 bugfix - TailBite Installer Build.pb is now more PB4 compatible [1] NOV 11th 2006 Since PB4.01 fred has changed something that tailbite dislike. heres the header of a compiled snipped (only a part of it) : ; ; PureBasic v4.01 (Windows - x86) generated code ; ; © 2006 Fantaisie Software ; ; The header must remain intact for Re-Assembly ; ; Window ; Gadget ; String ; StringExtension ; Misc2 ; MemoryExtension ; Memory ; LinkedList ; LinkedListExtension ; Library ; Image ; ImagePlugin ; Font ; FileSystem ; File ; Date ; 2DDrawing ; Object ; SimpleList ; :System ; COMDLG32 ; GDI32 ; KERNEL32 ; USER32 ; WINSPOOL ; format MS COFF
Now tailbite in the current version compiles ok but when i start purebasic again and want to compile with the new lib i get this error (same as Falko´s) :
--------------------------- PureBasic - Error --------------------------- Error: The following PureLibrary is missing: :System --------------------------- OK ---------------------------
And i made some changes to the TailBite.pb sources just like you wrote Gnozal, the SplitFunctions procedure. (See my post above) Now the enumeration breaks exactly when the ; :System part is reached.

|