From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: border1.nntp.ams3.giganews.com!border1.nntp.ams2.giganews.com!border3.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!feeder2.cambriumusenet.nl!feed.tweaknews.nl!195.62.100.243.MISMATCH!newsfeed0.kamp.net!newsfeed.kamp.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: =?ISO-8859-1?Q?Bj=F6rn?= Persson Newsgroups: comp.lang.ada Subject: Introducing Comfignat Date: Wed, 07 Aug 2013 19:32:09 +0200 Message-ID: <1375896729.30906.2.camel@speedy.xn--rombobjrn-67a.se> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-fBbK0HIzIgqGGEePH1RQ" X-Trace: individual.net 27b8qEg6oreYB+inDXDfLAIWtj/RU6xVUhWYzocGlyLb04AGvL Cancel-Lock: sha1:yBGESI0AwJoNhY6xBXiSoHUn8HI= X-Mailer: Evolution 3.6.4 (3.6.4-3.fc18) X-Original-Bytes: 4520 Xref: number.nntp.dca.giganews.com comp.lang.ada:182851 Date: 2013-08-07T19:32:09+02:00 List-Id: --=-fBbK0HIzIgqGGEePH1RQ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Last Friday I published the first release of Comfignat. Comfignat is common, convenient, command-line-controlled compile-time configuration of software built with the GNAT tools on Unix-like operating systems. In my work on packaging Ada software in Fedora I have found that most Ada projects have rather inflexible build systems. Makefiles and project files usually have to be modified to meet Fedora=E2=80=99s policies. Files placement is often not configurable enough, and support for multiarch systems and installation to a staging directory is often missing. There is also a lack of naming conventions. In C projects Make variables such as CFLAGS and LDFLAGS are a well established de facto standard. Among Ada projects there is no consensus. The lack of conventions slows packaging down as it takes time to figure out each makefile. It=E2=80=99s quite understandable that Ada programmers don=E2=80=99t want t= o write a lot of Make code for every project but rather focus on their Ada programming, but the result is inflexible makefiles that don=E2=80=99t meet users=E2=80=99 and distributions=E2=80=99 needs. To make my own projects fully configurable, multiarch-capable and stageable while minimizing the amount of Make code that must be written for every new project, I have written Comfignat. It consists of a makefile foundation with generic Make code to be included by each project=E2=80=99s makefile, and an abstract GNAT project file to be importe= d by each project=E2=80=99s project files. Leveraging GNU Make and Gnatprep, Comfignat adds the flexibility that GNAT project files lack, so that programs and libraries can easily be configured for all sorts of use cases, such as installing locally from source, packaging in a distribution, building relocatable binary packages, or testing and debugging on a developer=E2=80=99s workstation. As all the code in Comfignat is generic it should be useful in any project that targets GNAT and Unix-like systems, and will greatly reduce the amount of Make code that needs to be written for each project. It works for mixed-language projects as well as pure Ada projects, and Gnatmake and GPRbuild are both supported. Read more: https://www.rombobj=C3=B6rn.se/Comfignat/ Download the tarball: https://www.rombobj=C3=B6rn.se/Comfignat/download/ Browse the code online: https://gitorious.org/comfignat/comfignat/trees/master See how my projects use Comfignat: https://gitorious.org/adamilter/adamilter/trees/master https://gitorious.org/adamilter/system_log/trees/master --=-fBbK0HIzIgqGGEePH1RQ Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) iQIcBAABCgAGBQJSAoSZAAoJEOE4WtzWSuY/46IP/iDNmQUuVSWQCghLh0nn/he0 2L59MiAgScvTksYKHWCG8EnOAMbvdIKIATEZRm8MmFolbkkUPed9aEpXBgjVrmRz gQ0yuV9lMasW8++oH9co8Irt0E6RY2uhNITvsxHOQ6/cL2+oo/6kUuX7Yp54CJMg 0ce0RlV9Serf1yKTepcmrxSX9nTdmAf32DKSLX9rL96vdFow8Xccopl+jNB9kESu I1ploDAdi+EcrQaDIN1ZOtaFcy2ZSUjiGEddjNAIToLOaYSBUWMJ0SERGZwZmmVQ D0Dl0+Y3JCojln7NaG7RZz/mSFRZdy2B53gq/Oy7d7/qc2e5SuMLdBTiMn34h6tY x+kO6EqHcrHq12PzWEIhJtjP2duT2A9Del7GZCbhesgJRiMkylnRKUe7Fw/AufNl hwaIMnerBTazAXOuPNSRgQ9jG61/Km2fOsDi/ooYQRBw8GGb5e1dLhfWk+HaaEAw Kj5S/MarDpuA5fC/YRRattNUE/SCOMRGxwxt0uZQJ06OUaeJ41cqJ+mD0MEmXaAq 158amkGfbqCiOsRt7oZTzxpK0+VOMJQceUx9bqsO84GQh5yBMrOMU/bcVsEDB33u 6a3eh+dWPgDv4K3UIsjDEtUkejGBgUHDQujj0pd3d0vH60okoSsM5cu1ViScuAxG NrAFxVUo37mFHwUIHdqi =21EG -----END PGP SIGNATURE----- --=-fBbK0HIzIgqGGEePH1RQ--