-
Notifications
You must be signed in to change notification settings - Fork 3
Compiler Toolchain
tajmone edited this page Dec 2, 2017
·
2 revisions
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:
PBasmUI was written by Horst Schaeffer: http://horstmuc.de/pb.htm