为什么没有人创造了脑死亡的开源构建系统? [英] Why has nobody created an open source build system for the brain dead?

查看:139
本文介绍了为什么没有人创造了脑死亡的开源构建系统?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想建立一个共享库。 GNU / Linux是发展和目标平台。 C是实现语言。

I want to build a shared library. GNU/Linux is the development and target platform. C is the implementation language.

我不能决定我是怎么想设置构建系统,并保持周围飞来飞去三个选项每个有很多理由不喜欢:

I can't decide how I want to setup the build system and keep flitting around three options each of which have lots of reasons to dislike:


  • 手工制作的Makefile - 我已经在过去几乎全部的工作这样

  • GNU Autotools的 - 我用自动工具今年早些时候建立一个共享的C库,但已经忘记了我是如何做到的,而所有的数以百计的教程是我用来采摘

  • WAF - 按说简单的但不是那么容易,我得到它的工作,今天下午

我不能决定哪去。我会满足于一身,开始工作,然后遇到一个问题,并决定其他系统更好。我卡住了卡住了卡住了。有人可以阐明这个请一些轻它可能会帮助我解决这个问题?

I can't decide which to go for. I'll settle on one, start working then come across a problem and decide the other system is better. I'm stuck stuck stuck. Can someone shed some light on this please which might help me settle the matter?

推荐答案

下面是一些链接(和报价从站点),以我注意到多年来的工具:

Here's some links (and quotes from the site) to the tools I've noticed over the years:

preMake :你是一个软件项目的经理。您的用户都在问你一个Visual Studio工作区文件,但你没有Visual Studio的!或许你是一个Windows开发者疲于应付Makefile文件同步为Linux端口。它是开源项目一个共同的问题:限制用户到一个构建工具 - 驱赶潜在的贡献者 - 或手动维护两个,三个或更多套构建脚本。输入premake。

PreMake: You are the manager of a software project. Your users are asking you for a Visual Studio workspace file, but you don't have Visual Studio! Or perhaps you are a Windows developer struggling to keep Makefiles in sync for a Linux port. It's a common problem for open source projects: restrict your users to a single build tool -- driving away potential contributors -- or manually maintain two, three, or more sets of build scripts. Enter Premake.

CMake的:欢迎CMake的,跨平台的,开放源码编译系统。 CMake的是旨在构建工具,测试和封装软件的一个家庭。 CMake的用于控制使用简单的平台和编译器独立的配置文件中的软件的编译过程。 CMake的生成本地的makefile,并可以在您选择的编译环境中使用的工作空间。

CMake: Welcome to CMake, the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files. CMake generates native makefiles and workspaces that can be used in the compiler environment of your choice.

buildconf :它开始作为一点点构建preparation脚本......多年来已经发展成为一个相当有用的工具节省了我支持请求和跨平台编译时间和精力。这是同一类的脚本使用GNU编译系统项目中常常常见的 - 也被称为只是GNU自动工具或每个工具单独作为的Autoconf,Automake和Libtool程序。这些项目往往有一个自定义的助手脚本编写了prepares其项目的开发者构建系统中,通常运行的各种工具,如libtoolize,autoconf的,或autoreconf。这个脚本通常命名为buildconf或autogen.sh但目的是一样的:prepare构建系统编译

buildconf: It started as just a little build preparation script... and over the years has grown to be quite a useful utility saving me time and effort with support requests and cross-platform compilation. It's the same sort of script often commonly found among projects that use the GNU Build System -- also known as just the GNU Autotools or for each tool individually as Autoconf, Automake, and Libtool. These projects frequently have a custom helper script written that prepares the build system for their project's developers, usually running various tools like libtoolize, autoconf, or autoreconf. This script is often named either buildconf or autogen.sh but the intent is the same: to prepare your build system for compilation

BSDBuild :BSDBuild(原CSOFT-MK)是一个简单的,自成一体,从传统的4.4BSD份额派生便携构建系统/ MK文件。 BSDBuild允许BSD风格的makefile,但没有BSD令扩展(它使用标准的Bourne脚本片段代替),因此构建系统移植到大多数操作系统,使味道。

BSDBuild: BSDBuild (formerly csoft-mk) is a simple, self-contained and portable build system derived from the traditional 4.4BSD share/mk files. BSDBuild allows BSD-style makefiles, but without BSD make extensions (it uses standard Bourne script fragments instead), so the build system is portable to most operating systems and make flavors.

iCompile :iCompile零配置构建系统

iCompile: iCompile the zero-configuration build system

OMake :(OCaml的)OMake是一个构建系统,设计用于可扩展性和可移植性

OMake: (OCaml) OMake is a build system designed for scalability and portability.

BakeFile :Bakefile是跨平台,交叉编译器原生的makefile生成器。它采用的构建任务编译器无关的描述作为输入,并生成本地的makefile(autoconf的的Makefile.in,Visual C ++项目,BCC生成文件等)。

BakeFile: Bakefile is cross-platform, cross-compiler native makefiles generator. It takes compiler-independent description of build tasks as input and generates native makefile (autoconf's Makefile.in, Visual C++ project, bcc makefile etc.).

SCons的是一个开放源码软件建设的工具,也就是说,下一代的构建工具。 SCons的看作一种改进的,跨平台的替代经典的制作类似于的autoconf / automake的集成功能效用和编译器缓存,如的ccache 。总之,使用SCons是建立软件更简单,更可靠,更快捷的方式。

SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classic Make utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.

使项目:'使项目'是一个bash脚本,使得项目的骨架。它automatizes开始在命令行中提供的信息的新项目的任务。默认创建的软件包是用来管理的自动工具选择的骨架的世界你好项目。

Make project: 'Make project' is a bash script that makes project skeletons. It automatizes the task of start a new project with the information provided from the command line. The package created by default is a 'hello world' project of the selected skeleton that uses the autotools to be managed.

cppmake :Cppmake是一个前端,使该构建C ++更省力,比手工编写的makefile更准确的方案

cppmake: Cppmake is a front-end to make that builds C++ programs with less effort and more accuracy than writing makefiles manually.

:喷雾是一个构建工具,帮助您配置,编译和安装你的项目是在目的上类似自动工具或CMake的,但创造SCons的跟随和WAF使用Python编程语言的精神。

spray: Spray is a build tool helping you in configuring, building and installing your project It is similar in purpose to the autotools or CMake but created following the spirit of SCons and waf using the Python programming language.

这篇关于为什么没有人创造了脑死亡的开源构建系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆