跨平台库的灵活目录结构?

时间:2013-01-16 20:10:47

标签: cross-platform build-process directory-structure

我正在寻求有关如何为跨平台库设计灵活的逻辑目录结构的建议。该库旨在可移植到几个类似UNIX的操作系统几个处理器体系结构,具有以下标准:

  • 特定于操作系统的代码;
  • CPU特定代码;
  • OS- 特定于CPU的代码;
  • 当存在专门的实现时,能够覆盖某些文件;
  • 移植时很少有地方可以访问。

我认为将这些问题推到有能力的建筑系统手中是明智之举,但我不想让目录结构在这个过程中变得复杂。值得注意的是,将会有相当多的文件,其中可能有三分之一是特定于操作系统或CPU,或两者兼而有之。

这是我到目前为止所提出的:

bin/
doc/
include/
    ports/
        {linux,freebsd,openbsd,...}/
            {amd64,x86,arm,...}/
                ...
    <shared code>
src/
    ports/
         {linux,freebsd,openbsd,...}/
            {amd64,x86,arm,...}/
                ...
    <shared code>

安装此库时,最好复制标题以允许更漂亮的代码,例如:#include <bits/abi.h>,这可能是linux-amd64的标题。

这种潜在混乱的优雅方法是什么?

0 个答案:

没有答案