summaryrefslogtreecommitdiff
path: root/docs/source/buildreference.rst
blob: 005e6fa4cf75e4c2bc669872585856e015c683d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
===============
Build Reference
===============

Xnt has several "build" modules to aid you in your compliation and project/
sub-project build steps

Overview
========

* `Make`_

* `Compiler Collection`_

* `Tex`_

Make
====

Apache Ant
----------

.. autofunction:: xnt.build.make.ant
   :noindex:


Gnu Make
--------

.. autofunction:: xnt.build.make.make
   :noindex:

(.NET)Ant
---------

.. autofunction:: xnt.build.make.nant
   :noindex:

Compiler Collection
===================

For all compilers so far, Xnt assumes they are installed and in your `$PATH`.
If they are not, an error will be thrown (by subprocess)

gcc/g++
-------

.. autofunction:: xnt.build.cc.gcc
   :noindex:

.. autofunction:: xnt.build.cc.gcc_o
   :noindex:

.. autofunction:: xnt.build.cc.gpp
   :noindex:

.. autofunction:: xnt.build.cc.gpp_o
   :noindex:

Javac
-----

.. autofunction:: xnt.build.cc.javac
   :noindex:


NVCC
----

.. autofunction:: xnt.build.cc.nvcc
   :noindex:

.. autofunction:: xnt.build.cc.nvcc_o
   :noindex:

Notes
-----

.. _defaultOut:

Default out
~~~~~~~~~~~

Most, if not all, compilers have a default name given to compiled binaries when
no output file name is given. For example, `gcc` will give code with a `main`
method a name of `a.out` or `%.o` for objects, and so on. `javac` defaults to
`<class-name>.class`.

.. _recompile:

Recompile
~~~~~~~~~

At the current moment, all compile wrappers do not do "smart" checks for
compilation. That is, *all* compile steps will `rebuild` regardless if the
binary file is modified later than the source file. This would be a nice
feature, but I fear it would be too expensive (complicated) and out of the
scope of this project to implement correctly.

Tex
===

Building LaTeX documents can be confusing and sometimes tricky to do correctly.

.. autofunction:: xnt.build.tex.pdflatex
   :noindex:

.. autofunction:: xnt.build.tex.clean
   :noindex: