从源码构建时,FreeBASIC可以配置并安装在以下两种不同的设置之一中:
正常目录布局:
- 斌/
- fbc.exe
- [<target>-]ld.exe
- other tools for native/cross compilation...
- 包括/
- freebasic /
- fbgfx.bi
- other headers...
- LIB /
- freebasic /
- <目标>/
- libfb.a
- other libraries...
| 独立目录布局:
- 斌/
- INC /
- fbgfx.bi
- other headers...
- LIB /
- <目标>/
- libfb.a
- other libraries...
- fbc.exe
|
与独立构建的区别:
- fbc位于bin/,与其他程序一样
- 在include/freebasic/中查找包含的内容,而不是inc/,以便将FB头与系统标头
- 在lib/freebasic/而不是lib/中查找自己的库,将FB库与系统库清理分开
- 在bin/和2)中查找binutils / gcc 1)依赖于PATH
- 在lib/freebasic/和2)中查找crt / gcc库1),运行“gcc -print-file-name=...”
- -target选项接受系统三元组,例如“i686-pc-linux-gnu”或“x86_64-w64-mingw32”
- 给予-target选项的目标名称在交叉编译时被添加到gcc / binutils程序名称
- 与标准的/usr或/usr/local目录兼容
- 通常用于FB-linux版本
- 使用binutils的windres编译win32资源脚本
这使得正常的FB构建与GNU / Linux发行版和其他类Unix系统完美集成,允许fbc安装到gcc旁边的MinGW或DJGPP树中,并允许fbc使用binutils / gcc交叉编译工具链。
| 与正常构建的差异:
- fbc二进制位于toplevel,不在bin/
- 寻找bin/<target>/内的工具,即它使用bin/<target>/ld.exe而不是bin/[<target>-]ld.exe
- 寻找FB包含inc/,而不在include/freebasic/
- 寻找lib/中的图书馆,而不是lib/freebasic/
- 不试图依赖PATH并使用系统工具
- 不尝试查询gcc查找文件
- -target只接受简单的FB目标名称,没有系统三元组
- 通常用于FB-dos和FB-win32版本
- 使用GoRC编译win32资源脚本
独立版本旨在用于独立安装,如传统的FB-win32和FB-dos版本。它还允许将fbc添加到PATH,而无需添加整个bin/目录。
|