Mikko Rasa [Fri, 3 Oct 2014 23:08:48 +0000 (02:08 +0300)]
Rudimentary support for compiling things for Android
At the moment programs are compiled as if for a desktop system. Creating
graphical applications in this way is difficult, as it requires different
build rules to compile the application code as a .so and some boilerplate
to wrap it in a .apk with a NativeActivity.
Mikko Rasa [Fri, 3 Oct 2014 22:04:28 +0000 (01:04 +0300)]
Add sysroot support for BuildInfo and compilers
Embedded SDKs commonly ship with a sysroot to use with their compilers.
It might also come useful for compiling things for different Linux
distributions.
Mikko Rasa [Wed, 25 Sep 2013 17:19:57 +0000 (20:19 +0300)]
Move nested build signature creation to FileTarget
This way the same code can be used by different target classes that need
it. In particular, both Binary and StaticLibrary need nested signatures,
and FileTerget is their closest common base.
Mikko Rasa [Thu, 22 Aug 2013 12:06:07 +0000 (15:06 +0300)]
Check an ObjectFile's dependencies again if a dependency is modified
This is necessary to get generated sources to behave correctly. Includes
can only be read after they're built for the first time. The ObjectFile
must then add the necessary dependencies to ensure that required headers
are installed.
Mikko Rasa [Thu, 22 Aug 2013 12:03:03 +0000 (15:03 +0300)]
Add transitive dependencies for source files
This eliminates a problem where includes in C source files would cause
generates sources to be rebuilt if any of the included files changed.
Includes should only affect the object file built from the source file,
not the source file itself.
Mikko Rasa [Thu, 9 May 2013 07:12:52 +0000 (10:12 +0300)]
Improvements for handling side effects
Propagate rebuild from side effects to the primary target. This can
happen if the side effect does not exist for whatever reason. As an
additional safeguard, redirect any build attempts on side effects to
the primary target.
Mikko Rasa [Wed, 8 May 2013 09:36:22 +0000 (12:36 +0300)]
Store problems at their source rather than globally
This allows finer granularity in determining whether problems are
preventing a build. In some cases it may be desirable to build just one
component of a package, even if others have problems.
Mikko Rasa [Fri, 26 Apr 2013 16:48:39 +0000 (19:48 +0300)]
Fix bootstrap.sh to work when multiple identically named headers
Previously the overlay -iquote flags for all source directories were
applied to all files, so the compiler included the wrong file. The fix
is to compile files one by one and only add the flags that are needed
for each.
The temp directory will now be deleted by default. An option to keep
it was added.
Mikko Rasa [Thu, 17 Jan 2013 08:54:54 +0000 (10:54 +0200)]
Make static library dependencies consistent with what the linker does
Rather than the linker using non-installed paths for static libraries,
the binary target now does this when resolving dependencies. This avoids
installing static libraries unnecessarily.
Mikko Rasa [Thu, 6 Sep 2012 14:42:32 +0000 (17:42 +0300)]
Have SourcePackage generate the interface version
It will be needed for import libraries in the near future as well, and it
would be stupid to duplicate the generation code. This also makes it
possibile for the package author to define a custom interface version.
Mikko Rasa [Thu, 6 Sep 2012 11:54:29 +0000 (14:54 +0300)]
Library search fixes
An outdated check was preventing dynamic libraries from being considered
with libmode==STATIC (as opposed for FORCE_STATIC, which doesn't even
generate the candidate names).
Added a hack to prefer import libraries over real static libraries, and
consider them even in FORCE_DYNAMIC mode.
Mikko Rasa [Tue, 4 Sep 2012 20:02:44 +0000 (23:02 +0300)]
Reload includes from CSourceFiles when they are modified
Without this, -W did not cause includes to be read if they were present
in the cache. It'll also come in handy for generated source files some
time in the future.