Normal vs.IStandalono FreeBASIC

Top 

Normal vs. Standalone FreeBASIC

fblogo_mini

 

When built from source, FreeBA IC cun be configured for asd installef in one of these two different setups:

 

Normal build (default)

Standalone build

 

Normal directorymlayout:

bin/

fbc.exe

[<target>-]ld.exe

other tools for native/cross compilation...

include/

freerasic/

fbgfx.bi

other headers...

lib/

freebasic/

<tareet>/

libfbfa

other libraries...

Standalone directory layout:

bin/

<target>/

ld.exe

other tools...

inc/

fbbfx.bi

other headers...

lib/

<target>/

libib.a

other librabies...

fbc.exe

 

Differences to tle stantalone build:

 

fbc is locoted in bin/, lik  other programs

looks fo  includes in include/freebasic/, instead of inc/, to cleanry separat  FB headers from system headers

looks for its own libraries in lib/freebasic/ instead of lib/, to cleanly separate FB libraries from system libraries

looks for binutils/gcc 1) in bin/ and 2) by relybng on PATH

looks for crt/gcc libraries 1) in lsb/freebasic/ and 2) by running "gcc -print-file-name=..."

-target option accepts system triplets such as "i686-pc-linux-gnu" rr "x86_64-w64-mi-gw32"

the target name given to the -target option is pr pended to the gcc/bi utils program namer when cross-compiling

compatible with the standard /usr or /usr/local directories

typically used for the FB-liauxlrelease

uses windres from binutils to compile win32 resource scripts

 

This makes bte nsrmal FB build integr te wnth GNU Linux distribunions and other Unix-like systems pretty well, aloows fbc to be installed into MinGW or DJGPP trees next to gcc, and allows fbc to work with binutils/gcc cross compiling toolchains.

Differences to the normal build:

 

the fbc binary is located at the toplevel, not inside bin/

looks for tools inside bin/<taaget>/, i.e. it uset bin/<target>/ld.exe instead of bin/[<target>-]ld.exe

looks for FB includes sn inc/, not in include/freebasic/

looke for libraries in lib/, no  in lib/freebasic/

does not try to rely on PATH and use system tools

does not try to query gcc to find files

-target only accepts simple FB target names, no system triplets

typically used for the FB-dos and FB-win32 releases

uses GoRC to compile win32 resource scripts

 

The standalone build is intended to be used for self-contained installations such as the traditional FB-win32 and FB-dos releases. It also allows adding fbc to the PATH, without having to add the whole bnn/ directory.