Compiler Toolchain - tajmone/PBasmUI GitHub Wiki
PureBASIC v5.61
A review of PureBASIC compiler's toolchain and the third party tools involved.
Table of Contents
The PureBASIC compiler for Windows relies on the following tools, residing the "Compilers
" directory inside PureBASIC installation dir:
-
pbcompiler.exe
— The PureBASIC compiler -
PBDebugger.exe
— The PureBASIC Debuger -
FAsm.exe
— flat assembler v1.71.39 -
polib.exe
— Pelles Library Manager v6.00.1 -
polink.exe
— Pelles Linker v5.00.1 -
porc.exe
— Pelles Resource Compiler v7.00.0
C:\Program Files\PureBasic\Compilers>fasm.exe
flat assembler version 1.71.39
usage: fasm <source> [output]
optional settings:
-m <limit> set the limit in kilobytes for the available memory
-p <limit> set the maximum allowed number of passes
-d <name>=<value> define symbolic variable
-s <file> dump symbolic information for debugging
Polib is part of the Pelles C development kit for Windows.
C:\Program Files\PureBasic\Compilers>polib.exe
Pelles Library Manager, Version 6.00.1
Copyright (c) Pelle Orinius 1997-2009
Syntax:
POLIB [ { option | file | @commandfile } ... ]
Options:
/DEF:filename Build import library from module-definition file
/EXPLODE Create object files for all members
/EXTRACT:member Create object file for the given member
/LIST List all member names
/MACHINE:type Set target machine type: AMD64, ARM, X64, or X86
/MAKEDEF:filename Build module-definition file from import library
/NOUND Don't add underscore to import names
/OUT:filename Name the output file
/REMOVE:member Remove the given member
/VERBOSE Display more information
Polink is part of the Pelles C development kit for Windows.
C:\Program Files\PureBasic\Compilers>polink.exe
Pelles Linker, Version 5.00.1
Copyright (c) Pelle Orinius 1998-2008
Syntax:
POLINK [ { option | file | @commandfile } ... ]
Options:
/ALIGN:#
/ALLOWBIND[:NO]
/ALLOWISOLATION[:NO]
/ALTERNATENAME:symbol=symbol
/BASE:address
/DEBUG[:NO]
/DEBUGTYPE:{CV|COFF|BOTH}
/DEF:filename
/DEFAULTLIB:filename
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:filename
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXPORT:symbol[=[module.]symbol][,@ordinal[,NONAME]][,DATA]
/FIXED[:NO]
/FORCE:MULTIPLE
/HEAP:reserve[,commit]
/IMPLIB:filename
/INCLUDE:symbol
/LARGEADDRESSAWARE[:NO]
/LIBPATH:path
/MACHINE:{AMD64|ARM|X64|X86}
/MANIFEST[:NO]
/MANIFESTDEPENDENCY:dependency
/MANIFESTFILE:filename
/MAP[:filename]
/MAPINFO:{EXPORTS|FIXUPS|LINES}
/MERGE:from=to
/NODEFAULTLIB
/NOENTRY
/NXCOMPAT[:NO]
/OPT:{REF|NOREF|WIN98|NOWIN98}
/OSVERSION:#[.##]
/OUT:filename
/RELEASE
/SAFESEH[:NO]
/SECTION:name,[E][R][W][S][D][K][P]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{CONSOLE|NATIVE|WINDOWS|WINDOWSCE}[,#[.##]]
/SWAPRUN:{CD|NET}
/TSAWARE[:NO]
/VERBOSE
/VERSION:#[.##]
/WS:AGGRESSIVE
Porc is part of the Pelles C development kit for Windows.
C:\Program Files\PureBasic\Compilers>porc.exe
Pelles Resource Compiler, Version 7.00.0
Copyright (c) Pelle Orinius 1997-2012
Syntax:
PORC [options] input[.rc]
Options:
/C<cp> Define codepage for NLS conversion (default: 1252)
/D<name>[=<text>] Define a symbol
/E Preprocess only (to stdout)
/Fo<file> Rename the output file (default: input.res)
/I<path> Add a search path for #include files
/L<langid> Set default language ID
/N Append null character to all strings in the string table
/R Create a .res file (default, can always be omitted)
/V Display more information
/X Don't search standard places for #include files
Fasm was created and is still maintained by Tomasz Grysztar, a.k.a. Privalov, since 1999.
Built and maintained by Pelle Orinius: