It seems GCC has the same behavior as Clang now, so we can ignore
errors generated while preprocessing. (Previously we did anyway,
before the recent commit adding -e to JAMSHELL flags, so this
just continues previous behavior.)
The "exec" tool can only handle one command with environs set at
the beginning of the line, so now we set the ADD_BUILD_COMPAT...
in this format. This also seems to be a general performance
improvement to builds using real shells, too.
Change-Id: If4b3117651b5475039d5e8116cd3de398582290a
This rule process the entire target's source files at once, and so
whoever wrote this rule in the first place (PulkoMandy?) probably
assumed without even testing that "cc -E" would create multiple
outputs for multiple inputs.
It doesn't, though: it just outputs them in sequence on the command line
the same way it does when the files are piped in through "cat". This
also has other advantages (e.g. preprocess errors caused by the compiler
assuming it was C not C++ code and so not defining __cplusplus, local
includes are now resolved properly, etc.)
Doing it this way does exposes other problems like the one fixed in the
previous commit (headers with no context defined, which worked previously
only because they used the context of the preceding `cat`'ed file.)
We now also remove the .pre file after collecting the catkeys.
provided in the gcc_syslibs_devel build feature for building Haiku.
* Simplify declaration of c++ and gcc headers for the legacy compiler -
in the end we always use the ones living by our source tree anyway.
* Fix a couple of missing local declarations for jam variables, which
were necessary to avoid a build problem with strace. There are
probably more bugs like these hiding in our build system files, but
I'm saving the fix for those to the next commit.
* Add new gcc packages to the HaikuPorts (x86*-)repositories.
* All packaging architecture dependent variables do now have a
respective suffix and are set up for each configured packaging
architecture, save for the kernel and boot loader variables, which
are still only set up for the primary architecture.
For convenience TARGET_PACKAGING_ARCH, TARGET_ARCH, TARGET_LIBSUPC++,
and TARGET_LIBSTDC++ are set to the respective values for the primary
packaging architecture by default.
* Introduce a set of MultiArch* rules to help with building targets for
multiple packaging architectures. Generally the respective targets are
(additionally) gristed with the packaging architecture. For libraries
the additional grist is usually omitted for the primary architecture
(e.g. libroot.so and <x86>libroot.so for x86_gcc2/x86 hybrid), so that
Jamfiles for targets built only for the primary architecture don't
need to be changed.
* Add multi-arch build support for all targets needed for the stage 1
cross devel package as well as for libbe (untested).
* made private Catalog.h header public by moving it to
os/locale/tools/CollectingCatalog.h
* reintroduce B_COLLECTING_CATKEYS define (which is expected to be set
during a collectcatkeys session) in order to decide whether or not
to automatically include the CollecingCatalog.h header from Catalog.h
* adjust jam rule for collecting catalog keys accordingly
* move versions of the B_TRANSLATE_...-macros used during collecting
of catalog keys to a specific header file, which will only be picked
up when running collectcatkeys
* fix a couple of build problems during the preprocessing of the libbe-
sources when extracting catalog keys, all due to private headers not
being found
* move ZombieReplicantView.h from kits/interface to
headers/private/interface, as this way it can be picked up when
building the libbe catalog
which builds just the en.catkeys inside HAIKU_OUTPUT_DIR/objects/catalogs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39130 a95241bf-73f2-0310-859d-f6bbb57e9c96
* removed the catkeys pseudo-target
* created catalogs pseudo-target, which builds all catalogs & en.catkeys(.pre)
* created LocalizedTargets pseudo-target, which builds all targets that have
been localized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39114 a95241bf-73f2-0310-859d-f6bbb57e9c96
directory. Introduced a new variable HAIKU_MULTIPLE_LOCALIZED_TARGETS, which
gets set in any Jamfiles that contain multiple DoCatalogs invocations. This
removes the need to supply folder parameter to DoCatalogs.
* Add the DoCatalogs invocation for filepanel.
* Relocated the catkeys for Screenshot and screenshot into their respective
directories.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39112 a95241bf-73f2-0310-859d-f6bbb57e9c96
not based on the automatic path-based grist. This (in conjunction with passing
a value for the 'folder' parameter) allows multiple targets within the same
source directory to have their own catalog files.
Fixes#6741.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39109 a95241bf-73f2-0310-859d-f6bbb57e9c96
applications. The eventual goal is to have jam package a catkeys.zip,
which can be provided to the application translation websites.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39090 a95241bf-73f2-0310-859d-f6bbb57e9c96
generation/collection. Thanks RISC for pointing this out!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38894 a95241bf-73f2-0310-859d-f6bbb57e9c96
a directory structure that reflects the catalogs in the repository. DoCatalogs
accepts an optional folder parameter, which allows one to specify an additional
subfolder to glob *.catkeys from. For example dstcheck in src/bin.
Improves upon r38819 and should address the concerns in
http://www.freelists.org/post/haiku/BOM-providing-catkeyszip-and-catkeyszipmd5-again,1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38873 a95241bf-73f2-0310-859d-f6bbb57e9c96
are stored in signature-based subdirectories. This improves upon r37871 and
should allow BOM to properly harvest catkeys for online translation tools.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38819 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I didn't manage to make it work for the translations, however. If someone with better jam knowledge could look at it...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37871 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_TRANSLATE-macros when running collectcatkeys, simplifying the regex a lot
* added B_TRANSLATE_NOCOLLECT...-macros for the case where a non-literal
string shall be translated, but not picked up by collectcatkeys
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37746 a95241bf-73f2-0310-859d-f6bbb57e9c96
* made locale build tools shut up about anything except warnings or errors
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37723 a95241bf-73f2-0310-859d-f6bbb57e9c96