]> git.tdb.fi Git - builder.git/log
builder.git
11 years agoFix some problems with side effect dependencies
Mikko Rasa [Tue, 20 Aug 2013 15:18:47 +0000 (18:18 +0300)]
Fix some problems with side effect dependencies

Side effects can't depend on the primary, since a generated .c or .cpp
file might use a .h file generated as a side effect.

11 years agoAdd support for generating source files
Mikko Rasa [Tue, 20 Aug 2013 15:17:56 +0000 (18:17 +0300)]
Add support for generating source files

11 years agoUse the correct target as root for cleaning
Mikko Rasa [Tue, 20 Aug 2013 15:13:51 +0000 (18:13 +0300)]
Use the correct target as root for cleaning

11 years agoProcess paths after merging build info
Mikko Rasa [Sat, 22 Jun 2013 08:45:06 +0000 (11:45 +0300)]
Process paths after merging build info

11 years agoHacky support for OS X frameworks
Mikko Rasa [Tue, 28 May 2013 12:23:35 +0000 (15:23 +0300)]
Hacky support for OS X frameworks

This isn't very elegant, but I need more time to come up with a proper
implementation.

11 years agoAdd target and tools for compiling Objective-C sources
Mikko Rasa [Tue, 28 May 2013 10:07:46 +0000 (13:07 +0300)]
Add target and tools for compiling Objective-C sources

11 years agoInitial support for building on Darwin (a.k.a. Mac OS X)
Mikko Rasa [Fri, 24 May 2013 17:29:52 +0000 (20:29 +0300)]
Initial support for building on Darwin (a.k.a. Mac OS X)

11 years agoRedesign the way commands are set for tools
Mikko Rasa [Fri, 24 May 2013 17:27:01 +0000 (20:27 +0300)]
Redesign the way commands are set for tools

This is necessary for some future developments.

11 years agoThe mingw port of gcc doesn't recognize -pthread
Mikko Rasa [Fri, 24 May 2013 17:09:21 +0000 (20:09 +0300)]
The mingw port of gcc doesn't recognize -pthread

11 years agoGroup most existing tools in sub-toolchains
Mikko Rasa [Fri, 24 May 2013 15:38:57 +0000 (18:38 +0300)]
Group most existing tools in sub-toolchains

11 years agoMake toolchains hierarchial
Mikko Rasa [Fri, 24 May 2013 15:37:48 +0000 (18:37 +0300)]
Make toolchains hierarchial

This enables eventual tool plugins to give out all of their tools in one
bundle.

11 years agoRemove deprecated features
Mikko Rasa [Fri, 24 May 2013 12:44:37 +0000 (15:44 +0300)]
Remove deprecated features

All of these have been deprecated for nearly a year, and I don't have any
active projects using them.

11 years agoInclude architecture in Binary build signature
Mikko Rasa [Thu, 9 May 2013 08:19:37 +0000 (11:19 +0300)]
Include architecture in Binary build signature

This reduces problems if the same source directory is shared between
computers of different architectures, or if building versions for
different CPUs.

11 years agoRemove all files in a side effect group when starting a task
Mikko Rasa [Thu, 9 May 2013 07:24:17 +0000 (10:24 +0300)]
Remove all files in a side effect group when starting a task

11 years agoImprovements for handling side effects
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.

11 years agoAvoid a double verb in function name
Mikko Rasa [Wed, 8 May 2013 12:20:56 +0000 (15:20 +0300)]
Avoid a double verb in function name

11 years agoStore problems at their source rather than globally
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.

11 years agoAdd a utility function for setting the executable for a Tool
Mikko Rasa [Wed, 8 May 2013 08:16:36 +0000 (11:16 +0300)]
Add a utility function for setting the executable for a Tool

11 years agoDelay locating tool executables until the tool is needed
Mikko Rasa [Wed, 8 May 2013 07:24:45 +0000 (10:24 +0300)]
Delay locating tool executables until the tool is needed

This solves a problem where the mspdatatool executable is not detected as
built by the mspdatafile package.

11 years agoTarget::build is virtual, so put the special case in the appropriate class
Mikko Rasa [Tue, 7 May 2013 20:40:30 +0000 (23:40 +0300)]
Target::build is virtual, so put the special case in the appropriate class

11 years agoAdd a convenience function for saving caches in PackageManager
Mikko Rasa [Tue, 7 May 2013 18:43:11 +0000 (21:43 +0300)]
Add a convenience function for saving caches in PackageManager

11 years agoProperly process the command line arguments
Mikko Rasa [Tue, 7 May 2013 18:42:39 +0000 (21:42 +0300)]
Properly process the command line arguments

11 years agoResolve cmdline targets and what-ifs the same way
Mikko Rasa [Tue, 7 May 2013 18:21:38 +0000 (21:21 +0300)]
Resolve cmdline targets and what-ifs the same way

11 years agoUpdate comments to reflect the new roles of classes
Mikko Rasa [Tue, 7 May 2013 18:07:56 +0000 (21:07 +0300)]
Update comments to reflect the new roles of classes

11 years agoUse GetOpt's new features
Mikko Rasa [Tue, 7 May 2013 13:53:08 +0000 (16:53 +0300)]
Use GetOpt's new features

11 years agoSeparate the command-line interface into its own class
Mikko Rasa [Mon, 29 Apr 2013 10:58:31 +0000 (13:58 +0300)]
Separate the command-line interface into its own class

This allows turning most of builder into a library later, and moving
tools into plugins.  Some parts are still rather ugly and require more
work.

11 years agoPass the option map through load_build_file and to Loader
Mikko Rasa [Tue, 30 Apr 2013 12:19:45 +0000 (15:19 +0300)]
Pass the option map through load_build_file and to Loader

This allows passing in options from outside Builder, which is necessary
for a planned split of the CLI part into its own class.

11 years agoFix whitespace errors
Mikko Rasa [Tue, 30 Apr 2013 11:07:27 +0000 (14:07 +0300)]
Fix whitespace errors

11 years agoSet config mtime to current time if an option is changed
Mikko Rasa [Tue, 30 Apr 2013 11:03:40 +0000 (14:03 +0300)]
Set config mtime to current time if an option is changed

This functionality got mistakenly circumvented in commit 3f541fc and then
removed entirely in commit bd61d7f.

11 years agoFix bootstrap.sh to work when multiple identically named headers
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.

11 years agoAdd a feature for overlay source directories
Mikko Rasa [Wed, 24 Apr 2013 10:03:30 +0000 (13:03 +0300)]
Add a feature for overlay source directories

This allows separation of architecture- or feature-specific source files
in their own directories.

11 years agoResolve a scoping problem in InternalTask::Worker
Mikko Rasa [Wed, 24 Apr 2013 08:52:56 +0000 (11:52 +0300)]
Resolve a scoping problem in InternalTask::Worker

This resulted from adding Msp::Thread::State, which also has a RUNNING
enumerator.

11 years agoSupport gcc's -iquote feature
Mikko Rasa [Wed, 24 Apr 2013 08:48:06 +0000 (11:48 +0300)]
Support gcc's -iquote feature

11 years agoSync readme with recent changes
Mikko Rasa [Wed, 24 Apr 2013 08:39:12 +0000 (11:39 +0300)]
Sync readme with recent changes

11 years agoReimplement datafile building
Mikko Rasa [Sun, 14 Apr 2013 15:15:53 +0000 (18:15 +0300)]
Reimplement datafile building

11 years agoHeader fixes
Mikko Rasa [Sun, 14 Apr 2013 15:11:32 +0000 (18:11 +0300)]
Header fixes

11 years agoReorder functions
Mikko Rasa [Sun, 14 Apr 2013 12:21:36 +0000 (15:21 +0300)]
Reorder functions

11 years agoUn-abbreviate function names
Mikko Rasa [Sun, 14 Apr 2013 12:17:07 +0000 (15:17 +0300)]
Un-abbreviate function names

11 years agoImplement PackageManager::get_package
Mikko Rasa [Sun, 14 Apr 2013 12:10:13 +0000 (15:10 +0300)]
Implement PackageManager::get_package

11 years agoRemove some useless member functions
Mikko Rasa [Sun, 14 Apr 2013 12:05:08 +0000 (15:05 +0300)]
Remove some useless member functions

11 years agoSupport conditionals inside components
Mikko Rasa [Sun, 14 Apr 2013 11:50:52 +0000 (14:50 +0300)]
Support conditionals inside components

11 years agoMove some more functionality into BuildGraph
Mikko Rasa [Sun, 7 Apr 2013 19:55:03 +0000 (22:55 +0300)]
Move some more functionality into BuildGraph

11 years agoRefactor build graph into its own class
Mikko Rasa [Sat, 6 Apr 2013 22:04:07 +0000 (01:04 +0300)]
Refactor build graph into its own class

11 years agoMove main package tracking to PackageManager
Mikko Rasa [Sat, 6 Apr 2013 21:22:53 +0000 (00:22 +0300)]
Move main package tracking to PackageManager

11 years agoImprove use statement handling
Mikko Rasa [Tue, 29 Jan 2013 17:21:52 +0000 (19:21 +0200)]
Improve use statement handling

Installed libraries are now linked dynamically.  For non-installed
libraries, the package source path is added to libpath so the library
will be found.

11 years agoImprove bootstrap.sh to accept cmdline arguments and allow setting prefix
Mikko Rasa [Tue, 29 Jan 2013 17:10:44 +0000 (19:10 +0200)]
Improve bootstrap.sh to accept cmdline arguments and allow setting prefix

11 years agoHandle "use"d libraries through build info
Mikko Rasa [Thu, 17 Jan 2013 09:01:15 +0000 (11:01 +0200)]
Handle "use"d libraries through build info

11 years agoMake static library dependencies consistent with what the linker does
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.

11 years agoAdd the target type to a lexical_cast invocation
Mikko Rasa [Sat, 1 Dec 2012 09:34:19 +0000 (11:34 +0200)]
Add the target type to a lexical_cast invocation

12 years agoFix git URL in readme
Mikko Rasa [Fri, 5 Oct 2012 14:22:07 +0000 (17:22 +0300)]
Fix git URL in readme

12 years agoSupport specifying library modes on a per-library basis
Mikko Rasa [Sat, 29 Sep 2012 20:22:26 +0000 (23:22 +0300)]
Support specifying library modes on a per-library basis

12 years agoGenerate export definitions with dlltool
Mikko Rasa [Fri, 28 Sep 2012 12:36:43 +0000 (15:36 +0300)]
Generate export definitions with dlltool

Having it as a side effect was causing trouble with rebuild check, and
it's cleaner to build each file separately anyway.

12 years agoDon't add a symlink with the same name as the file
Mikko Rasa [Fri, 28 Sep 2012 12:31:13 +0000 (15:31 +0300)]
Don't add a symlink with the same name as the file

12 years agoPrevent crashes if a tool's executable cannot be found
Mikko Rasa [Fri, 28 Sep 2012 12:20:02 +0000 (15:20 +0300)]
Prevent crashes if a tool's executable cannot be found

12 years agoDon't try to create links with the same name as the file itself
Mikko Rasa [Thu, 13 Sep 2012 07:53:03 +0000 (10:53 +0300)]
Don't try to create links with the same name as the file itself

12 years agoInstall shared libraries on windows to bin, not lib
Mikko Rasa [Fri, 7 Sep 2012 18:37:44 +0000 (21:37 +0300)]
Install shared libraries on windows to bin, not lib

Linking is done through import libraries, so the dlls are only needed for
running the application.

12 years agoBuild and install import libraries on windows
Mikko Rasa [Fri, 7 Sep 2012 18:37:19 +0000 (21:37 +0300)]
Build and install import libraries on windows

12 years agoGive import libraries their own class
Mikko Rasa [Fri, 7 Sep 2012 17:29:46 +0000 (20:29 +0300)]
Give import libraries their own class

12 years agoHave the linker specify symlinks for installed libraries
Mikko Rasa [Thu, 6 Sep 2012 15:02:04 +0000 (18:02 +0300)]
Have the linker specify symlinks for installed libraries

12 years agoHave SourcePackage generate the interface version
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.

12 years agoAdd a side effect system for building multiple targets at once
Mikko Rasa [Thu, 6 Sep 2012 13:30:25 +0000 (16:30 +0300)]
Add a side effect system for building multiple targets at once

12 years agoLibrary search fixes
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.

12 years agoLet tools have a say in installing their targets
Mikko Rasa [Thu, 6 Sep 2012 06:51:42 +0000 (09:51 +0300)]
Let tools have a say in installing their targets

12 years agoDon't append library version to the end of the filename on Windows
Mikko Rasa [Wed, 5 Sep 2012 17:08:12 +0000 (20:08 +0300)]
Don't append library version to the end of the filename on Windows

12 years agoMore generic system for installing targets under different names
Mikko Rasa [Wed, 5 Sep 2012 16:54:45 +0000 (19:54 +0300)]
More generic system for installing targets under different names

12 years agoRoute InstalledFile target creation through Builder
Mikko Rasa [Wed, 5 Sep 2012 16:11:03 +0000 (19:11 +0300)]
Route InstalledFile target creation through Builder

12 years agoReload includes from CSourceFiles when they are modified
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.

12 years agoIt's okay to throw exceptions from Loader functions
Mikko Rasa [Tue, 4 Sep 2012 20:01:55 +0000 (23:01 +0300)]
It's okay to throw exceptions from Loader functions

12 years agoDataFile::DerivedObjectLoader was changed
Mikko Rasa [Tue, 21 Aug 2012 23:18:15 +0000 (02:18 +0300)]
DataFile::DerivedObjectLoader was changed

12 years agoStore lookup failures separately from the package map
Mikko Rasa [Wed, 15 Aug 2012 16:15:19 +0000 (19:15 +0300)]
Store lookup failures separately from the package map

This ensures that every pointer in the package map is valid, avoiding the
need to check them and preventing segfaults due to a forgotten check.

12 years agoThis ugly hack for arch-specific binary packages is no longer needed
Mikko Rasa [Wed, 15 Aug 2012 16:13:20 +0000 (19:13 +0300)]
This ugly hack for arch-specific binary packages is no longer needed

12 years agoThere's no good reason to abbreviate this
Mikko Rasa [Thu, 2 Aug 2012 18:22:19 +0000 (21:22 +0300)]
There's no good reason to abbreviate this

12 years agoExpand the readme even more
Mikko Rasa [Fri, 27 Jul 2012 14:56:42 +0000 (17:56 +0300)]
Expand the readme even more

12 years agoAn include directory is needed as well
Mikko Rasa [Fri, 27 Jul 2012 07:52:20 +0000 (10:52 +0300)]
An include directory is needed as well

12 years agoMake sure that symlinks point to the right place
Mikko Rasa [Fri, 27 Jul 2012 07:29:32 +0000 (10:29 +0300)]
Make sure that symlinks point to the right place

12 years agoAdd a way for components to use libraries from the same package
Mikko Rasa [Fri, 27 Jul 2012 07:22:18 +0000 (10:22 +0300)]
Add a way for components to use libraries from the same package

12 years agoMake mingw linker happy
Mikko Rasa [Thu, 26 Jul 2012 19:47:24 +0000 (22:47 +0300)]
Make mingw linker happy

12 years agoEliminate all global typedefs, making misc.h finally unnecessary
Mikko Rasa [Mon, 23 Jul 2012 20:18:29 +0000 (23:18 +0300)]
Eliminate all global typedefs, making misc.h finally unnecessary

12 years agoPreliminary changelog entry for 2.0
Mikko Rasa [Mon, 23 Jul 2012 19:53:32 +0000 (22:53 +0300)]
Preliminary changelog entry for 2.0

12 years agoComment tweaks
Mikko Rasa [Mon, 23 Jul 2012 19:52:13 +0000 (22:52 +0300)]
Comment tweaks

12 years agoMove binary packages from builderrc to individual files
Mikko Rasa [Mon, 23 Jul 2012 19:50:23 +0000 (22:50 +0300)]
Move binary packages from builderrc to individual files

12 years agoCheck headers as well
Mikko Rasa [Mon, 23 Jul 2012 19:01:17 +0000 (22:01 +0300)]
Check headers as well

12 years agoLocate and check the existence of the libraries of binary packages
Mikko Rasa [Mon, 23 Jul 2012 18:43:13 +0000 (21:43 +0300)]
Locate and check the existence of the libraries of binary packages

12 years agoAdd a parameter to suppress the use of system path in VirtualFileSyste::find_*
Mikko Rasa [Mon, 23 Jul 2012 18:37:13 +0000 (21:37 +0300)]
Add a parameter to suppress the use of system path in VirtualFileSyste::find_*

12 years agoFix path prefixification in .pc files
Mikko Rasa [Mon, 23 Jul 2012 18:31:35 +0000 (21:31 +0300)]
Fix path prefixification in .pc files

12 years agoCollapse the virtual functions used during package preparation into one
Mikko Rasa [Mon, 23 Jul 2012 10:27:21 +0000 (13:27 +0300)]
Collapse the virtual functions used during package preparation into one

12 years agoAdd helper function to apply a list of patterns
Mikko Rasa [Mon, 23 Jul 2012 10:23:08 +0000 (13:23 +0300)]
Add helper function to apply a list of patterns

12 years agoMove if_arch to Package so binary packages can use it too
Mikko Rasa [Sun, 22 Jul 2012 17:09:19 +0000 (20:09 +0300)]
Move if_arch to Package so binary packages can use it too

12 years agoAdjust some identifiers
Mikko Rasa [Sun, 22 Jul 2012 17:08:36 +0000 (20:08 +0300)]
Adjust some identifiers

12 years agoLoad binary packages from separate files
Mikko Rasa [Sun, 22 Jul 2012 17:07:09 +0000 (20:07 +0300)]
Load binary packages from separate files

12 years agoImprove output from PackageManager::get_package_location
Mikko Rasa [Sun, 22 Jul 2012 16:34:45 +0000 (19:34 +0300)]
Improve output from PackageManager::get_package_location

12 years agoTry other methods if the source path given by pkg-config is invalid
Mikko Rasa [Sun, 22 Jul 2012 15:19:05 +0000 (18:19 +0300)]
Try other methods if the source path given by pkg-config is invalid

12 years agoFix recognition of versioned msp package directories
Mikko Rasa [Sun, 22 Jul 2012 15:00:47 +0000 (18:00 +0300)]
Fix recognition of versioned msp package directories

12 years agoFeed paths to PackageManager from the outside
Mikko Rasa [Sun, 22 Jul 2012 14:47:36 +0000 (17:47 +0300)]
Feed paths to PackageManager from the outside

12 years agoExternalize file existence check from Builder::load_build_file
Mikko Rasa [Sun, 22 Jul 2012 14:12:32 +0000 (17:12 +0300)]
Externalize file existence check from Builder::load_build_file

12 years agoUpdate .gitignore
Mikko Rasa [Sat, 21 Jul 2012 14:13:57 +0000 (17:13 +0300)]
Update .gitignore

12 years agois_installable is more appropriate here
Mikko Rasa [Sat, 21 Jul 2012 13:50:06 +0000 (16:50 +0300)]
is_installable is more appropriate here

12 years agoIt's no longer necessary to expose the dry_run flag
Mikko Rasa [Sat, 21 Jul 2012 13:49:47 +0000 (16:49 +0300)]
It's no longer necessary to expose the dry_run flag

12 years agoHandle directory creation and unlinking in Task
Mikko Rasa [Sat, 21 Jul 2012 13:49:12 +0000 (16:49 +0300)]
Handle directory creation and unlinking in Task

12 years agoEnsure that the directory exists before trying to write the cache
Mikko Rasa [Sat, 21 Jul 2012 13:46:29 +0000 (16:46 +0300)]
Ensure that the directory exists before trying to write the cache